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: ''