spec/parameter_exclusivity_spec.rb in sinatra-param-1.3.0 vs spec/parameter_exclusivity_spec.rb in sinatra-param-1.3.1
- old
+ new
@@ -8,35 +8,48 @@
{b: 2, c: 3},
{a: 1, b: 2, c: 3}
]
params.each do |param|
- get('/choice', param) do |response|
+ get('/choice/3', param) do |response|
expect(response.status).to eql 400
expect(JSON.parse(response.body)['message']).to match(/mutually exclusive/)
end
end
end
+ it 'returns 400 on requests that contain more than one mutually exclusive parameter' do
+ params = {a: 1, b: 2}
+
+ get('/choice/2', params) do |response|
+ expect(response.status).to eql 400
+ expect(JSON.parse(response.body)['message']).to match(/mutually exclusive/)
+ end
+ end
+
it 'returns successfully for requests that have one parameter' do
params = [
{a: 1},
{b: 2},
{c: 3}
]
- params.each do |param|
- get('/choice', param) do |response|
- expect(response.status).to eql 200
- expect(JSON.parse(response.body)['message']).to match(/OK/)
+ (1..3).each do |n|
+ params.each do |param|
+ get("/choice/#{n}", param) do |response|
+ expect(response.status).to eql 200
+ expect(JSON.parse(response.body)['message']).to match(/OK/)
+ end
end
end
end
it 'returns successfully for requests that have no parameter' do
- get('/choice') do |response|
- expect(response.status).to eql 200
- expect(JSON.parse(response.body)['message']).to match(/OK/)
+ (1..3).each do |n|
+ get("/choice/#{n}") do |response|
+ expect(response.status).to eql 200
+ expect(JSON.parse(response.body)['message']).to match(/OK/)
+ end
end
end
end
end