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