@@ -309,7 +309,7 @@ def association_connection.current_database
309
309
describe 'when filtering on an ambiguous field' do
310
310
let ( :resource ) { Tree }
311
311
let ( :pageSize ) { 5 }
312
- let ( :fields ) { { 'Tree' => 'id,name' , 'cutter' => 'id ' } }
312
+ let ( :fields ) { { 'Tree' => 'id' } }
313
313
let ( :filters ) { {
314
314
aggregator : 'and' ,
315
315
conditions : [ {
@@ -332,6 +332,7 @@ def association_connection.current_database
332
332
expect ( count ) . to eq 1
333
333
expect ( records . first . id ) . to eq 3
334
334
expect ( records . first . name ) . to eq 'Apple Tree'
335
+ expect ( records . first . cutter . name ) . to eq 'Michel'
335
336
end
336
337
end
337
338
@@ -378,7 +379,7 @@ def association_connection.current_database
378
379
describe 'when sorting on an ambiguous field name with a filter' do
379
380
let ( :resource ) { Tree }
380
381
let ( :sort ) { '-name' }
381
- let ( :fields ) { { 'Tree' => 'id,name ' } }
382
+ let ( :fields ) { { 'Tree' => 'id' } }
382
383
let ( :filters ) { {
383
384
field : 'cutter:name' ,
384
385
operator : 'equal' ,
@@ -416,7 +417,7 @@ def association_connection.current_database
416
417
417
418
describe 'when filtering on an updated_at field of an associated collection' do
418
419
let ( :resource ) { Tree }
419
- let ( :fields ) { { 'Tree' => 'id,name ' } }
420
+ let ( :fields ) { { 'Tree' => 'id' } }
420
421
let ( :filters ) { {
421
422
field : 'island:updated_at' ,
422
423
operator : 'previous_year'
@@ -591,64 +592,6 @@ def association_connection.current_database
591
592
end
592
593
end
593
594
594
- describe '#extract_associations_from_filter' do
595
- let ( :resource ) { Tree }
596
-
597
- before { init_scopes }
598
-
599
- context 'with a single filter as JSON string' do
600
- let ( :filters ) {
601
- {
602
- field : 'island:updated_at' ,
603
- operator : 'equal' ,
604
- value : '2024-01-01'
605
- } . to_json
606
- }
607
-
608
- it 'extracts the correct association' do
609
- expect ( getter . send ( :extract_associations_from_filter ) ) . to eq [ :island ]
610
- end
611
- end
612
-
613
- context 'with grouped conditions as JSON string' do
614
- let ( :filters ) {
615
- {
616
- aggregator : 'and' ,
617
- conditions : [
618
- { field : 'island:updated_at' , operator : 'equal' , value : '2024-01-01' } ,
619
- { field : 'owner:name' , operator : 'equal' , value : 'Michel' } ,
620
- { field : 'id' , operator : 'present' , value : nil }
621
- ]
622
- } . to_json
623
- }
624
-
625
- it 'extracts all unique associations' do
626
- expect ( getter . send ( :extract_associations_from_filter ) ) . to match_array [ :island , :owner ]
627
- end
628
- end
629
-
630
- context 'when filters has no association field' do
631
- let ( :filters ) {
632
- {
633
- field : 'id' ,
634
- operator : 'equal' ,
635
- value : 1
636
- } . to_json
637
- }
638
-
639
- it 'returns an empty array' do
640
- expect ( getter . send ( :extract_associations_from_filter ) ) . to eq [ ]
641
- end
642
- end
643
-
644
- context 'when filters is nil' do
645
- let ( :filters ) { nil }
646
-
647
- it 'returns an empty array' do
648
- expect ( getter . send ( :extract_associations_from_filter ) ) . to eq [ ]
649
- end
650
- end
651
- end
652
595
end
653
596
end
654
597
end
0 commit comments