Skip to content

Commit 16ce342

Browse files
authored
Merge pull request #1812 from darren987469/add_spec_for_issue_1681
Add spec for default value in given block
2 parents 5736a8a + 513f857 commit 16ce342

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

spec/grape/validations/params_scope_spec.rb

+26
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,32 @@ def initialize(value)
663663
end
664664
end
665665

666+
context 'default value in given block' do
667+
before do
668+
subject.params do
669+
optional :a, values: %w[a b]
670+
given a: ->(val) { val == 'a' } do
671+
optional :b, default: 'default'
672+
end
673+
end
674+
subject.get('/') { params.to_json }
675+
end
676+
677+
context 'when dependency meets' do
678+
it 'sets default value for dependent parameter' do
679+
get '/', a: 'a'
680+
expect(last_response.body).to eq({ a: 'a', b: 'default' }.to_json)
681+
end
682+
end
683+
684+
context 'when dependency does not meet' do
685+
it 'does not set default value for dependent parameter' do
686+
get '/', a: 'b'
687+
expect(last_response.body).to eq({ a: 'b' }.to_json)
688+
end
689+
end
690+
end
691+
666692
context 'when validations are dependent on a parameter within an array param' do
667693
before do
668694
subject.params do

0 commit comments

Comments
 (0)