Skip to content

Commit 7ccc9b6

Browse files
committed
fix: default matrix limit for /matrix/provider/PROVIDER/consumer/CONSUMER endpoint to 100
1 parent a37ff49 commit 7ccc9b6

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

lib/pact_broker/matrix/parse_query.rb

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ def self.call query
2727
end
2828
if params.key?('limit') && params['limit'] != ''
2929
options[:limit] = params['limit']
30+
else
31+
options[:limit] = "100"
3032
end
3133
if params.key?('latest') && params['latest'] != ''
3234
options[:latest] = params['latest'] == 'true'

spec/lib/pact_broker/matrix/parse_query_spec.rb

+15-7
Original file line numberDiff line numberDiff line change
@@ -39,38 +39,38 @@ module Matrix
3939
context "with no options specified" do
4040
let(:query) { "" }
4141

42-
it "does not set any options" do
43-
expect(subject.last).to eq({})
42+
it "sets the defaults" do
43+
expect(subject.last).to eq(limit: "100")
4444
end
4545
end
4646

4747
context "with just one status specified" do
4848
let(:query) { "success=true" }
4949
it "extracts the one status" do
50-
expect(subject.last).to eq success: [true]
50+
expect(subject.last).to include success: [true]
5151
end
5252
end
5353

5454
context "with an array of statuses" do
5555
let(:query) { "success[]=true&success[]=false&success[]=" }
5656
it "extracts the statuses" do
57-
expect(subject.last).to eq success: [true, false, nil]
57+
expect(subject.last).to include success: [true, false, nil]
5858
end
5959
end
6060

6161
context "with success[]=" do
6262
let(:query) { "success[]=&foo=bar" }
6363

6464
it "sets an array with a nil success" do
65-
expect(subject.last).to eq(success: [nil])
65+
expect(subject.last).to include success: [nil]
6666
end
6767
end
6868

6969
context "with success=" do
7070
let(:query) { "success=&foo=bar" }
7171

7272
it "sets an array with a nil success" do
73-
expect(subject.last).to eq(success: [nil])
73+
expect(subject.last).to include success: [nil]
7474
end
7575
end
7676

@@ -86,7 +86,7 @@ module Matrix
8686
let(:query) { "q[][pacticipant]=Foo&latest=true" }
8787

8888
it "returns options with latest true" do
89-
expect(subject.last).to eq latest: true
89+
expect(subject.last).to include latest: true
9090
end
9191
end
9292

@@ -105,6 +105,14 @@ module Matrix
105105
expect(subject.first).to eq [{ pacticipant_name: 'Foo', tag: 'prod' }]
106106
end
107107
end
108+
109+
context "when a limit is specified" do
110+
let(:query) { "limit=200" }
111+
112+
it "sets the limit" do
113+
expect(subject.last[:limit]).to eq "200"
114+
end
115+
end
108116
end
109117
end
110118
end

0 commit comments

Comments
 (0)