spec/grape/validations/validators/allow_blank_spec.rb in grape-0.17.0 vs spec/grape/validations/validators/allow_blank_spec.rb in grape-0.18.0

- old
+ new

@@ -7,13 +7,18 @@ default_format :json params do requires :name, allow_blank: false end - get + get '/disallow_blank' params do + optional :name, type: String, allow_blank: false + end + get '/opt_disallow_string_blank' + + params do optional :name, allow_blank: false end get '/disallow_blank_optional_param' params do @@ -245,32 +250,37 @@ ValidationsSpec::AllowBlankValidatorSpec::API end context 'invalid input' do it 'refuses empty string' do - get '/', name: '' + get '/disallow_blank', name: '' expect(last_response.status).to eq(400) get '/disallow_datetime_blank', val: '' expect(last_response.status).to eq(400) end it 'refuses only whitespaces' do - get '/', name: ' ' + get '/disallow_blank', name: ' ' expect(last_response.status).to eq(400) - get '/', name: " \n " + get '/disallow_blank', name: " \n " expect(last_response.status).to eq(400) - get '/', name: "\n" + get '/disallow_blank', name: "\n" expect(last_response.status).to eq(400) end it 'refuses nil' do - get '/', name: nil + get '/disallow_blank', name: nil expect(last_response.status).to eq(400) end + + it 'refuses missing' do + get '/disallow_blank' + expect(last_response.status).to eq(400) + end end context 'custom validation message' do context 'with invalid input' do it 'refuses empty string' do @@ -430,11 +440,16 @@ end end end context 'valid input' do + it 'allows missing optional strings' do + get 'opt_disallow_string_blank' + expect(last_response.status).to eq(200) + end + it 'accepts valid input' do - get '/', name: 'bob' + get '/disallow_blank', name: 'bob' expect(last_response.status).to eq(200) end it 'accepts empty input when allow_blank is false' do get '/allow_blank', name: ''