Skip to content

Commit f2b4c9f

Browse files
committed
fix: return correct "latest" verification when a verification has been published for a pact with a revision
1 parent 56f0d67 commit f2b4c9f

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

lib/pact_broker/domain/verification.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def untagged
5454
end
5555

5656
def latest
57-
reverse_order(:consumer_version_order, :number).limit(1)
57+
reverse_order(:consumer_version_order, :revision_number, :number).limit(1)
5858
end
5959
end
6060

spec/lib/pact_broker/verifications/repository_spec.rb

+19
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,25 @@ module Verifications
101101
end
102102

103103
describe "#find_latest_verification_for" do
104+
context "when there is a revision" do
105+
before do
106+
TestDataBuilder.new
107+
.create_provider("Provider1")
108+
.create_consumer("Consumer1")
109+
.create_consumer_version("1.2.3")
110+
.create_pact
111+
.create_verification(number: 1, provider_version: "2.3.4")
112+
.revise_pact
113+
.create_verification(number: 1, provider_version: "7.8.9")
114+
end
115+
116+
subject { Repository.new.find_latest_verification_for("Consumer1", "Provider1")}
117+
118+
it "finds the latest verifications for the given consumer version" do
119+
expect(subject.provider_version).to eq "7.8.9"
120+
end
121+
end
122+
104123
context "when no tag is specified" do
105124
before do
106125
TestDataBuilder.new

0 commit comments

Comments
 (0)