Skip to content

Commit 7ef0ceb

Browse files
lidimayraLeFnord
authored andcommitted
Refactor params parser specs (#723)
Use named subjects for methods, avoiding calling for parser in each expectation.
1 parent e983cbf commit 7ef0ceb

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

spec/lib/endpoint/params_parser_spec.rb

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,20 @@
99
let(:parser) { described_class.new(params, settings) }
1010

1111
describe '#parse_request_params' do
12+
subject(:parse_request_params) { parser.parse_request_params }
13+
1214
context 'when param is of array type' do
1315
let(:params) { [['param_1', { type: 'Array[String]' }]] }
1416

1517
it 'adds is_array option' do
16-
expect(parser.parse_request_params).to eq('param_1' => { type: 'Array[String]', is_array: true })
18+
expect(parse_request_params['param_1']).to eq(type: 'Array[String]', is_array: true)
1719
end
1820

1921
context 'and array_use_braces setting set to true' do
2022
let(:settings) { { array_use_braces: true } }
2123

2224
it 'adds braces to the param key' do
23-
expect(parser.parse_request_params.keys.first).to eq 'param_1[]'
25+
expect(parse_request_params.keys.first).to eq 'param_1[]'
2426
end
2527
end
2628
end
@@ -29,7 +31,7 @@
2931
let(:params) { [['param_1', { type: 'String' }]] }
3032

3133
it 'does not change options' do
32-
expect(parser.parse_request_params).to eq('param_1' => { type: 'String' })
34+
expect(parse_request_params['param_1']).to eq(type: 'String')
3335
end
3436

3537
context 'and array_use_braces setting set to true' do
@@ -45,18 +47,18 @@
4547
let(:params) { [['param_1', { type: 'Array' }], ['param_1[param_2]', { type: 'String' }]] }
4648

4749
it 'skips root parameter' do
48-
expect(parser.parse_request_params).not_to have_key 'param_1'
50+
is_expected.not_to have_key 'param_1'
4951
end
5052

5153
it 'adds is_array option to the nested param' do
52-
expect(parser.parse_request_params).to eq('param_1[param_2]' => { type: 'String', is_array: true })
54+
expect(parse_request_params['param_1[param_2]']).to eq(type: 'String', is_array: true)
5355
end
5456

5557
context 'and array_use_braces setting set to true' do
5658
let(:settings) { { array_use_braces: true } }
5759

5860
it 'adds braces to the param key' do
59-
expect(parser.parse_request_params.keys.first).to eq 'param_1[][param_2]'
61+
expect(parse_request_params.keys.first).to eq 'param_1[][param_2]'
6062
end
6163
end
6264
end
@@ -65,18 +67,18 @@
6567
let(:params) { [['param_1', { type: 'Hash' }], ['param_1[param_2]', { type: 'String' }]] }
6668

6769
it 'skips root parameter' do
68-
expect(parser.parse_request_params).not_to have_key 'param_1'
70+
is_expected.not_to have_key 'param_1'
6971
end
7072

7173
it 'does not change options to the nested param' do
72-
expect(parser.parse_request_params).to eq('param_1[param_2]' => { type: 'String' })
74+
expect(parse_request_params['param_1[param_2]']).to eq(type: 'String')
7375
end
7476

7577
context 'and array_use_braces setting set to true' do
7678
let(:settings) { { array_use_braces: true } }
7779

7880
it 'does not add braces to the param key' do
79-
expect(parser.parse_request_params.keys.first).to eq 'param_1[param_2]'
81+
expect(parse_request_params.keys.first).to eq 'param_1[param_2]'
8082
end
8183
end
8284
end

0 commit comments

Comments
 (0)