Skip to content

Commit dd53c05

Browse files
committed
Add test data for custom_field feature
1 parent c8619f4 commit dd53c05

File tree

5 files changed

+34
-23
lines changed

5 files changed

+34
-23
lines changed

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
end
4141

4242
shared_examples 'columns methods' do
43-
it 'has 4 columns' do
44-
expect(datatable.columns.count).to eq(6)
43+
it 'has 7 columns' do
44+
expect(datatable.columns.count).to eq(7)
4545
end
4646

4747
it 'child class' do

spec/ajax-datatables-rails/orm/active_record_filter_records_spec.rb

+20-20
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236

237237
context 'when range is empty' do
238238
it 'does not filter records' do
239-
datatable.params[:columns]['5'][:search][:value] = '-'
239+
datatable.params[:columns]['6'][:search][:value] = '-'
240240
expect(datatable.data.size).to eq 2
241241
item = datatable.data.first
242242
expect(item[:last_name]).to eq 'Doe'
@@ -245,21 +245,21 @@
245245

246246
context 'when start date is filled' do
247247
it 'filters records created after this date' do
248-
datatable.params[:columns]['5'][:search][:value] = '31/12/1999-'
248+
datatable.params[:columns]['6'][:search][:value] = '31/12/1999-'
249249
expect(datatable.data.size).to eq 2
250250
end
251251
end
252252

253253
context 'when end date is filled' do
254254
it 'filters records created before this date' do
255-
datatable.params[:columns]['5'][:search][:value] = '-31/12/1999'
255+
datatable.params[:columns]['6'][:search][:value] = '-31/12/1999'
256256
expect(datatable.data.size).to eq 0
257257
end
258258
end
259259

260260
context 'when both date are filled' do
261261
it 'filters records created between the range' do
262-
datatable.params[:columns]['5'][:search][:value] = '01/12/1999-15/01/2000'
262+
datatable.params[:columns]['6'][:search][:value] = '01/12/1999-15/01/2000'
263263
expect(datatable.data.size).to eq 1
264264
end
265265
end
@@ -268,7 +268,7 @@
268268
context 'when range is empty' do
269269
it 'filters records' do
270270
datatable.params[:columns]['0'][:search][:value] = 'doe'
271-
datatable.params[:columns]['5'][:search][:value] = '-'
271+
datatable.params[:columns]['6'][:search][:value] = '-'
272272
expect(datatable.data.size).to eq 1
273273
item = datatable.data.first
274274
expect(item[:last_name]).to eq 'Doe'
@@ -278,7 +278,7 @@
278278
context 'when start date is filled' do
279279
it 'filters records' do
280280
datatable.params[:columns]['0'][:search][:value] = 'doe'
281-
datatable.params[:columns]['5'][:search][:value] = '01/12/1999-'
281+
datatable.params[:columns]['6'][:search][:value] = '01/12/1999-'
282282
expect(datatable.data.size).to eq 1
283283
item = datatable.data.first
284284
expect(item[:last_name]).to eq 'Doe'
@@ -288,7 +288,7 @@
288288
context 'when end date is filled' do
289289
it 'filters records' do
290290
datatable.params[:columns]['0'][:search][:value] = 'doe'
291-
datatable.params[:columns]['5'][:search][:value] = '-15/01/2000'
291+
datatable.params[:columns]['6'][:search][:value] = '-15/01/2000'
292292
expect(datatable.data.size).to eq 1
293293
item = datatable.data.first
294294
expect(item[:last_name]).to eq 'Doe'
@@ -298,7 +298,7 @@
298298
context 'when both date are filled' do
299299
it 'filters records' do
300300
datatable.params[:columns]['0'][:search][:value] = 'doe'
301-
datatable.params[:columns]['5'][:search][:value] = '01/12/1999-15/01/2000'
301+
datatable.params[:columns]['6'][:search][:value] = '01/12/1999-15/01/2000'
302302
expect(datatable.data.size).to eq 1
303303
item = datatable.data.first
304304
expect(item[:last_name]).to eq 'Doe'
@@ -318,7 +318,7 @@
318318
let(:datatable) { DatatableCondEq.new(sample_params) }
319319

320320
it 'filters records matching' do
321-
datatable.params[:columns]['4'][:search][:value] = 1
321+
datatable.params[:columns]['5'][:search][:value] = 1
322322
expect(datatable.data.size).to eq 1
323323
item = datatable.data.first
324324
expect(item[:first_name]).to eq 'john'
@@ -329,7 +329,7 @@
329329
let(:datatable) { DatatableCondNotEq.new(sample_params) }
330330

331331
it 'filters records matching' do
332-
datatable.params[:columns]['4'][:search][:value] = 1
332+
datatable.params[:columns]['5'][:search][:value] = 1
333333
expect(datatable.data.size).to eq 1
334334
item = datatable.data.first
335335
expect(item[:first_name]).to eq 'mary'
@@ -340,7 +340,7 @@
340340
let(:datatable) { DatatableCondLt.new(sample_params) }
341341

342342
it 'filters records matching' do
343-
datatable.params[:columns]['4'][:search][:value] = 2
343+
datatable.params[:columns]['5'][:search][:value] = 2
344344
expect(datatable.data.size).to eq 1
345345
item = datatable.data.first
346346
expect(item[:first_name]).to eq 'john'
@@ -351,7 +351,7 @@
351351
let(:datatable) { DatatableCondGt.new(sample_params) }
352352

353353
it 'filters records matching' do
354-
datatable.params[:columns]['4'][:search][:value] = 1
354+
datatable.params[:columns]['5'][:search][:value] = 1
355355
expect(datatable.data.size).to eq 1
356356
item = datatable.data.first
357357
expect(item[:first_name]).to eq 'mary'
@@ -362,7 +362,7 @@
362362
let(:datatable) { DatatableCondLteq.new(sample_params) }
363363

364364
it 'filters records matching' do
365-
datatable.params[:columns]['4'][:search][:value] = 2
365+
datatable.params[:columns]['5'][:search][:value] = 2
366366
expect(datatable.data.size).to eq 2
367367
end
368368
end
@@ -371,7 +371,7 @@
371371
let(:datatable) { DatatableCondGteq.new(sample_params) }
372372

373373
it 'filters records matching' do
374-
datatable.params[:columns]['4'][:search][:value] = 1
374+
datatable.params[:columns]['5'][:search][:value] = 1
375375
expect(datatable.data.size).to eq 2
376376
end
377377
end
@@ -380,7 +380,7 @@
380380
let(:datatable) { DatatableCondIn.new(sample_params) }
381381

382382
it 'filters records matching' do
383-
datatable.params[:columns]['4'][:search][:value] = [1]
383+
datatable.params[:columns]['5'][:search][:value] = [1]
384384
expect(datatable.data.size).to eq 1
385385
item = datatable.data.first
386386
expect(item[:first_name]).to eq 'john'
@@ -391,8 +391,8 @@
391391
let(:datatable) { DatatableCondInWithRegex.new(sample_params) }
392392

393393
it 'filters records matching' do
394-
datatable.params[:columns]['4'][:search][:value] = '1|2'
395-
datatable.params[:order]['0'] = { column: '4', dir: 'asc' }
394+
datatable.params[:columns]['5'][:search][:value] = '1|2'
395+
datatable.params[:order]['0'] = { column: '5', dir: 'asc' }
396396
expect(datatable.data.size).to eq 2
397397
item = datatable.data.first
398398
expect(item[:first_name]).to eq 'john'
@@ -411,17 +411,17 @@
411411
end
412412

413413
it 'Returns an empty result if input value is too large' do
414-
datatable.params[:columns]['4'][:search][:value] = largest_postgresql_integer_value + 1
414+
datatable.params[:columns]['5'][:search][:value] = largest_postgresql_integer_value + 1
415415
expect(datatable.data.size).to eq 0
416416
end
417417

418418
it 'Returns an empty result if input value is too small' do
419-
datatable.params[:columns]['4'][:search][:value] = smallest_postgresql_integer_value - 1
419+
datatable.params[:columns]['5'][:search][:value] = smallest_postgresql_integer_value - 1
420420
expect(datatable.data.size).to eq 0
421421
end
422422

423423
it 'returns the matching user' do
424-
datatable.params[:columns]['4'][:search][:value] = largest_postgresql_integer_value
424+
datatable.params[:columns]['5'][:search][:value] = largest_postgresql_integer_value
425425
expect(datatable.data.size).to eq 1
426426
end
427427
end

spec/support/datatables/complex_datatable.rb

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ def view_columns
77
email: { source: 'User.email' },
88
first_name: { source: 'User.first_name' },
99
last_name: { source: 'User.last_name' },
10+
full_name: { source: 'full_name' },
1011
post_id: { source: 'User.post_id', orderable: false },
1112
created_at: { source: 'User.created_at' },
1213
}
@@ -19,6 +20,7 @@ def data
1920
email: record.email,
2021
first_name: record.first_name,
2122
last_name: record.last_name,
23+
full_name: record.full_name,
2224
post_id: record.post_id,
2325
created_at: record.created_at,
2426
}

spec/support/helpers/params.rb

+7-1
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,18 @@ def sample_params
3131
}
3232
},
3333
'4' => {
34-
'data' => 'post_id', 'name' => '', 'searchable' => 'true', 'orderable' => 'true',
34+
'data' => 'full_name', 'name' => '', 'searchable' => 'true', 'orderable' => 'true',
3535
'search' => {
3636
'value' => '', 'regex' => 'false'
3737
}
3838
},
3939
'5' => {
40+
'data' => 'post_id', 'name' => '', 'searchable' => 'true', 'orderable' => 'true',
41+
'search' => {
42+
'value' => '', 'regex' => 'false'
43+
}
44+
},
45+
'6' => {
4046
'data' => 'created_at', 'name' => '', 'searchable' => 'true', 'orderable' => 'true',
4147
'search' => {
4248
'value' => '', 'regex' => 'false'

spec/support/models/user.rb

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
# frozen_string_literal: true
22

33
class User < ActiveRecord::Base
4+
def full_name
5+
"#{first_name} #{last_name}"
6+
end
47
end

0 commit comments

Comments
 (0)