@@ -189,26 +189,53 @@ module Verifications
189
189
end
190
190
191
191
describe "find_latest_verification_for_tags" do
192
- before do
193
- TestDataBuilder . new
194
- . create_pact_with_hierarchy ( "Foo" , "1" , "Bar" )
195
- . create_consumer_version_tag ( "feat-x" )
196
- . create_verification ( provider_version : "5" )
197
- . use_provider_version ( "5" )
198
- . create_provider_version_tag ( "feat-y" )
199
- . create_verification ( provider_version : "6" , number : 2 )
200
- . use_provider_version ( "6" )
201
- . create_provider_version_tag ( "feat-y" )
202
- . create_verification ( provider_version : "7" , number : 3 )
203
- . create_consumer_version ( "2" )
204
- . create_pact
205
- . create_verification ( provider_version : "8" )
192
+ context "with no revisions" do
193
+ before do
194
+ TestDataBuilder . new
195
+ . create_pact_with_hierarchy ( "Foo" , "1" , "Bar" )
196
+ . create_consumer_version_tag ( "feat-x" )
197
+ . create_verification ( provider_version : "5" )
198
+ . use_provider_version ( "5" )
199
+ . create_provider_version_tag ( "feat-y" )
200
+ . create_verification ( provider_version : "6" , number : 2 )
201
+ . use_provider_version ( "6" )
202
+ . create_provider_version_tag ( "feat-y" )
203
+ . create_verification ( provider_version : "7" , number : 3 )
204
+ . create_consumer_version ( "2" )
205
+ . create_pact
206
+ . create_verification ( provider_version : "8" )
207
+ end
208
+
209
+ subject { Repository . new . find_latest_verification_for_tags ( "Foo" , "Bar" , "feat-x" , "feat-y" ) }
210
+
211
+ it "returns the latest verification for a pact with the given consumer tag, by a provider version with the given provider tag" do
212
+ expect ( subject . provider_version_number ) . to eq "6"
213
+ end
206
214
end
207
215
208
- subject { Repository . new . find_latest_verification_for_tags ( "Foo" , "Bar" , "feat-x" , "feat-y" ) }
216
+ context "when a verification exists for a pact revision that was then overwritten by a new revision of the pact" do
217
+ let ( :content_1 ) { { content : 1 } . to_json }
218
+ let ( :content_2 ) { { content : 2 } . to_json }
219
+
220
+ before do
221
+ TestDataBuilder . new
222
+ . create_pact_with_hierarchy ( "Foo" , "1" , "Bar" , content_1 )
223
+ . create_consumer_version_tag ( "develop" )
224
+ . create_verification ( provider_version : "5" , number : 1 , tag_name : "develop" , comment : "not this because pact revised" )
225
+ . create_verification ( provider_version : "6" , number : 2 , tag_name : "develop" , comment : "not this because pact revised" )
226
+ . revise_pact ( content_2 )
227
+ . create_verification ( provider_version : "1" , number : 1 , tag_name : "develop" , comment : "not this because later one exists" )
228
+ . create_verification ( provider_version : "2" , number : 2 , tag_name : "develop" , comment : "this one!" )
229
+ . create_consumer_version ( "2" )
230
+ . create_pact ( json_content : content_1 )
231
+ end
232
+
233
+ subject { Repository . new . find_latest_verification_for_tags ( "Foo" , "Bar" , "develop" , "develop" ) }
209
234
210
- it "returns the latest verification for a pact with the given consumer tag, by a provider version with the given provider tag" do
211
- expect ( subject . provider_version_number ) . to eq "6"
235
+ it "returns the latest verification " do
236
+ expect ( subject . provider_version_number ) . to eq "2"
237
+ expect ( subject . number ) . to eq 2
238
+ end
212
239
end
213
240
end
214
241
end
0 commit comments