spec/grape/validations/validators/values_spec.rb in grape-0.12.0 vs spec/grape/validations/validators/values_spec.rb in grape-0.13.0

- old
+ new

@@ -55,10 +55,17 @@ get '/default_and_values_lambda' do { type: params[:type] } end params do + optional :type, type: Boolean, desc: 'A boolean', values: [true] + end + get '/values/optional_boolean' do + { type: params[:type] } + end + + params do requires :type, type: Integer, desc: 'An integer', values: [10, 11], default: 10 end get '/values/coercion' do { type: params[:type] } end @@ -172,9 +179,14 @@ expect do subject.params { optional :type, values: ['valid-type1', 'valid-type2', 'valid-type3'], type: Symbol } end.to raise_error Grape::Exceptions::IncompatibleOptionValues end + it 'allows values to be true or false when setting the type to boolean' do + get('/values/optional_boolean', type: true) + expect(last_response.status).to eq 200 + expect(last_response.body).to eq({ type: true }.to_json) + end it 'allows values to be a kind of the coerced type not just an instance of it' do get('/values/coercion', type: 10) expect(last_response.status).to eq 200 expect(last_response.body).to eq({ type: 10 }.to_json) end