Skip to content

Commit 99f60aa

Browse files
committed
Improve coding style in specs
1 parent d94c08a commit 99f60aa

22 files changed

+161
-117
lines changed

spec/ajax-datatables-rails/base_spec.rb

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'spec_helper'
24

35
describe AjaxDatatablesRails::Base do
@@ -44,15 +46,15 @@
4446
context 'when data is defined as a hash' do
4547
let(:datatable) { ComplexDatatable.new(sample_params) }
4648

47-
it 'should return an array of hashes' do
49+
it 'returns an array of hashes' do
4850
create_list(:user, 5)
4951
expect(datatable.data).to be_a(Array)
5052
expect(datatable.data.size).to eq 5
5153
item = datatable.data.first
5254
expect(item).to be_a(Hash)
5355
end
5456

55-
it 'should html escape data' do
57+
it 'htmls escape data' do
5658
create(:user, first_name: 'Name "><img src=x onerror=alert("first_name")>', last_name: 'Name "><img src=x onerror=alert("last_name")>')
5759
data = datatable.send(:sanitize_data, datatable.data)
5860
item = data.first
@@ -64,15 +66,15 @@
6466
context 'when data is defined as a array' do
6567
let(:datatable) { ComplexDatatableArray.new(sample_params) }
6668

67-
it 'should return an array of arrays' do
69+
it 'returns an array of arrays' do
6870
create_list(:user, 5)
6971
expect(datatable.data).to be_a(Array)
7072
expect(datatable.data.size).to eq 5
7173
item = datatable.data.first
7274
expect(item).to be_a(Array)
7375
end
7476

75-
it 'should html escape data' do
77+
it 'htmls escape data' do
7678
create(:user, first_name: 'Name "><img src=x onerror=alert("first_name")>', last_name: 'Name "><img src=x onerror=alert("last_name")>')
7779
data = datatable.send(:sanitize_data, datatable.data)
7880
item = data.first
@@ -156,7 +158,7 @@ def paginate_records(records)
156158
describe '#as_json' do
157159
let(:datatable) { ComplexDatatable.new(sample_params) }
158160

159-
it 'should return a hash' do
161+
it 'returns a hash' do
160162
create_list(:user, 5)
161163
data = datatable.as_json
162164
expect(data[:recordsTotal]).to eq 5
@@ -166,9 +168,9 @@ def paginate_records(records)
166168
end
167169

168170
context 'with additional_data' do
169-
it 'should return a hash' do
171+
it 'returns a hash' do
170172
create_list(:user, 5)
171-
expect(datatable).to receive(:additional_data){ { foo: 'bar' } }
173+
expect(datatable).to receive(:additional_data) { { foo: 'bar' } }
172174
data = datatable.as_json
173175
expect(data[:recordsTotal]).to eq 5
174176
expect(data[:recordsFiltered]).to eq 5
@@ -184,7 +186,7 @@ def paginate_records(records)
184186
describe '#column_id' do
185187
let(:datatable) { ComplexDatatable.new(sample_params) }
186188

187-
it 'should return column id from view_columns hash' do
189+
it 'returns column id from view_columns hash' do
188190
expect(datatable.column_id(:username)).to eq(0)
189191
expect(datatable.column_id('username')).to eq(0)
190192
end
@@ -194,7 +196,7 @@ def paginate_records(records)
194196
let(:datatable) { ComplexDatatable.new(sample_params) }
195197
before { datatable.params[:columns]['0'][:search][:value] = 'doe' }
196198

197-
it 'should return column data from params' do
199+
it 'returns column data from params' do
198200
expect(datatable.column_data(:username)).to eq('doe')
199201
expect(datatable.column_data('username')).to eq('doe')
200202
end

spec/ajax-datatables-rails/datatable/column_spec.rb

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'spec_helper'
24

35
describe AjaxDatatablesRails::Datatable::Column do
@@ -9,69 +11,69 @@
911
let(:column) { datatable.datatable.columns.first }
1012

1113
before do
12-
datatable.params[:columns] = {'0'=>{'data'=>'username', 'name'=>'', 'searchable'=>'true', 'orderable'=>'true', 'search'=>{'value'=>'searchvalue', 'regex'=>'false'}}}
14+
datatable.params[:columns] = { '0' => { 'data' => 'username', 'name' => '', 'searchable' => 'true', 'orderable' => 'true', 'search' => { 'value' => 'searchvalue', 'regex' => 'false' } } }
1315
end
1416

15-
it 'should be orderable' do
17+
it 'is orderable' do
1618
expect(column.orderable?).to eq(true)
1719
end
1820

19-
it 'should sort nulls last' do
21+
it 'sorts nulls last' do
2022
expect(column.nulls_last?).to eq(false)
2123
end
2224

23-
it 'should be searchable' do
25+
it 'is searchable' do
2426
expect(column.searchable?).to eq(true)
2527
end
2628

27-
it 'should be searched' do
29+
it 'is searched' do
2830
expect(column.searched?).to eq(true)
2931
end
3032

31-
it 'should have connected to id column' do
33+
it 'has connected to id column' do
3234
expect(column.data).to eq('username')
3335
end
3436

3537
describe '#data' do
36-
it 'should return the data from params' do
38+
it 'returns the data from params' do
3739
expect(column.data).to eq 'username'
3840
end
3941
end
4042

4143
describe '#source' do
42-
it 'should return the data source from view_column' do
44+
it 'returns the data source from view_column' do
4345
expect(column.source).to eq 'User.username'
4446
end
4547
end
4648

4749
describe '#table' do
4850
context 'with ActiveRecord ORM' do
49-
it 'should return the corresponding AR table' do
51+
it 'returns the corresponding AR table' do
5052
expect(column.table).to eq User.arel_table
5153
end
5254
end
5355
context 'with other ORM' do
54-
it 'should return the corresponding model' do
56+
it 'returns the corresponding model' do
5557
expect(User).to receive(:respond_to?).with(:arel_table).and_return(false)
5658
expect(column.table).to eq User
5759
end
5860
end
5961
end
6062

6163
describe '#model' do
62-
it 'should return the corresponding AR model' do
64+
it 'returns the corresponding AR model' do
6365
expect(column.model).to eq User
6466
end
6567
end
6668

6769
describe '#field' do
68-
it 'should return the corresponding field in DB' do
70+
it 'returns the corresponding field in DB' do
6971
expect(column.field).to eq :username
7072
end
7173
end
7274

7375
describe '#custom_field?' do
74-
it 'should return false if field is bound to an AR field' do
76+
it 'returns false if field is bound to an AR field' do
7577
expect(column.custom_field?).to be false
7678
end
7779
end
@@ -81,47 +83,47 @@
8183
expect(column.search).to be_a(AjaxDatatablesRails::Datatable::SimpleSearch)
8284
end
8385

84-
it 'should have search value' do
86+
it 'has search value' do
8587
expect(column.search.value).to eq('searchvalue')
8688
end
8789

88-
it 'should not regex' do
90+
it 'does not regex' do
8991
expect(column.search.regexp?).to eq false
9092
end
9193
end
9294

9395
describe '#cond' do
94-
it 'should be :like by default' do
96+
it 'is :like by default' do
9597
expect(column.cond).to eq(:like)
9698
end
9799
end
98100

99101
describe '#source' do
100-
it 'should be :like by default' do
102+
it 'is :like by default' do
101103
expect(column.source).to eq('User.username')
102104
end
103105
end
104106

105107
describe '#search_query' do
106-
it 'should buld search query' do
108+
it 'bulds search query' do
107109
expect(column.search_query.to_sql).to include('%searchvalue%')
108110
end
109111
end
110112

111113
describe '#sort_query' do
112-
it 'should build sort query' do
114+
it 'builds sort query' do
113115
expect(column.sort_query).to eq('users.username')
114116
end
115117
end
116118

117119
describe '#use_regex?' do
118-
it 'should be true by default' do
120+
it 'is true by default' do
119121
expect(column.use_regex?).to be true
120122
end
121123
end
122124

123125
describe '#delimiter' do
124-
it 'should be - by default' do
126+
it 'is - by default' do
125127
expect(column.delimiter).to eq('-')
126128
end
127129
end
@@ -131,7 +133,7 @@
131133
let(:datatable) { DatatableWithFormater.new(sample_params) }
132134
let(:column) { datatable.datatable.columns.find { |c| c.data == 'last_name' } }
133135

134-
it 'should be a proc' do
136+
it 'is a proc' do
135137
expect(column.formatter).to be_a(Proc)
136138
end
137139
end
@@ -140,7 +142,7 @@
140142
let(:datatable) { DatatableCondProc.new(sample_params) }
141143
let(:column) { datatable.datatable.columns.find { |c| c.data == 'username' } }
142144

143-
it 'should be a proc' do
145+
it 'is a proc' do
144146
config = column.instance_variable_get('@view_column')
145147
filter = config[:cond]
146148
expect(filter).to be_a(Proc)
@@ -205,17 +207,17 @@
205207

206208
describe 'when empty column' do
207209
before do
208-
datatable.params[:columns] = {'0'=>{'data'=>'', 'name'=>'', 'searchable'=>'true', 'orderable'=>'true', 'search'=>{'value'=>'searchvalue', 'regex'=>'false'}}}
210+
datatable.params[:columns] = { '0' => { 'data' => '', 'name' => '', 'searchable' => 'true', 'orderable' => 'true', 'search' => { 'value' => 'searchvalue', 'regex' => 'false' } } }
209211
end
210212

211213
it 'raises error' do
212-
expect { datatable.to_json }.to raise_error(AjaxDatatablesRails::Error::InvalidSearchColumn).with_message("Unknown column. Check that `data` field is filled on JS side with the column name")
214+
expect { datatable.to_json }.to raise_error(AjaxDatatablesRails::Error::InvalidSearchColumn).with_message('Unknown column. Check that `data` field is filled on JS side with the column name')
213215
end
214216
end
215217

216218
describe 'when unknown column' do
217219
before do
218-
datatable.params[:columns] = {'0'=>{'data'=>'foo', 'name'=>'', 'searchable'=>'true', 'orderable'=>'true', 'search'=>{'value'=>'searchvalue', 'regex'=>'false'}}}
220+
datatable.params[:columns] = { '0' => { 'data' => 'foo', 'name' => '', 'searchable' => 'true', 'orderable' => 'true', 'search' => { 'value' => 'searchvalue', 'regex' => 'false' } } }
219221
end
220222

221223
it 'raises error' do

spec/ajax-datatables-rails/datatable/datatable_spec.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
1+
# frozen_string_literal: true
2+
13
require 'spec_helper'
24

35
describe AjaxDatatablesRails::Datatable::Datatable do
46

57
let(:datatable) { ComplexDatatable.new(sample_params).datatable }
68
let(:datatable_json) { ComplexDatatable.new(sample_params_json).datatable }
7-
let(:order_option) { {'0'=>{'column'=>'0', 'dir'=>'asc'}, '1'=>{'column'=>'1', 'dir'=>'desc'}} }
8-
let(:order_option_json) { [{'column'=>'0', 'dir'=>'asc'}, {'column'=>'1', 'dir'=>'desc'}] }
9+
let(:order_option) { { '0' => { 'column' => '0', 'dir' => 'asc' }, '1' => { 'column' => '1', 'dir' => 'desc' } } }
10+
let(:order_option_json) { [{ 'column' => '0', 'dir' => 'asc' }, { 'column' => '1', 'dir' => 'desc' }] }
911

1012
shared_examples 'order methods' do
11-
it 'should be orderable' do
13+
it 'is orderable' do
1214
expect(datatable.orderable?).to eq(true)
1315
end
1416

15-
it 'should not be orderable' do
17+
it 'is not orderable' do
1618
datatable.options[:order] = nil
1719
expect(datatable.orderable?).to eq(false)
1820
end
1921

20-
it 'should have 2 orderable columns' do
22+
it 'has 2 orderable columns' do
2123
datatable.options[:order] = order_option
2224
expect(datatable.orders.count).to eq(2)
2325
end
@@ -38,7 +40,7 @@
3840
end
3941

4042
shared_examples 'columns methods' do
41-
it 'should have 4 columns' do
43+
it 'has 4 columns' do
4244
expect(datatable.columns.count).to eq(6)
4345
end
4446

@@ -60,12 +62,12 @@
6062
end
6163

6264
describe 'search methods' do
63-
it 'should be searchable' do
65+
it 'is searchable' do
6466
datatable.options[:search][:value] = 'atom'
6567
expect(datatable.searchable?).to eq(true)
6668
end
6769

68-
it 'should not be searchable' do
70+
it 'is not searchable' do
6971
datatable.options[:search][:value] = nil
7072
expect(datatable.searchable?).to eq(false)
7173
end

spec/ajax-datatables-rails/datatable/simple_order_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
# frozen_string_literal: true
2+
13
require 'spec_helper'
24

35
describe AjaxDatatablesRails::Datatable::SimpleOrder do
46

57
let(:parent) { ComplexDatatable.new(sample_params) }
68
let(:datatable) { parent.datatable }
7-
let(:options) { ActiveSupport::HashWithIndifferentAccess.new({'column' => '1', 'dir' => 'desc'}) }
9+
let(:options) { ActiveSupport::HashWithIndifferentAccess.new({ 'column' => '1', 'dir' => 'desc' }) }
810
let(:simple_order) { AjaxDatatablesRails::Datatable::SimpleOrder.new(datatable, options) }
911

1012
describe 'option methods' do

spec/ajax-datatables-rails/datatable/simple_search_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
# frozen_string_literal: true
2+
13
require 'spec_helper'
24

35
describe AjaxDatatablesRails::Datatable::SimpleSearch do
46

5-
let(:options) { ActiveSupport::HashWithIndifferentAccess.new({'value' => 'search value', 'regex' => 'true'}) }
7+
let(:options) { ActiveSupport::HashWithIndifferentAccess.new({ 'value' => 'search value', 'regex' => 'true' }) }
68
let(:simple_search) { AjaxDatatablesRails::Datatable::SimpleSearch.new(options) }
79

810
describe 'option methods' do

0 commit comments

Comments
 (0)