Sha256: 876cced9abb6cca929f63c947b41dd42da23d7d030b29049dd3467cddaefbc95
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'spec_helper' describe 'Parameter Sets' do describe 'one_of' do it 'returns 400 on requests that contain more than one mutually exclusive parameter' do params = [ {a: 1, b: 2}, {b: 2, c: 3}, {a: 1, b: 2, c: 3} ] params.each do |param| 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} ] (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 (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
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sinatra-param-1.3.1 | spec/parameter_exclusivity_spec.rb |