@@ -309,7 +309,7 @@ def association_connection.current_database
309309 describe 'when filtering on an ambiguous field' do
310310 let ( :resource ) { Tree }
311311 let ( :pageSize ) { 5 }
312- let ( :fields ) { { 'Tree' => 'id,name' , 'cutter' => 'id ' } }
312+ let ( :fields ) { { 'Tree' => 'id' } }
313313 let ( :filters ) { {
314314 aggregator : 'and' ,
315315 conditions : [ {
@@ -332,6 +332,7 @@ def association_connection.current_database
332332 expect ( count ) . to eq 1
333333 expect ( records . first . id ) . to eq 3
334334 expect ( records . first . name ) . to eq 'Apple Tree'
335+ expect ( records . first . cutter . name ) . to eq 'Michel'
335336 end
336337 end
337338
@@ -378,7 +379,7 @@ def association_connection.current_database
378379 describe 'when sorting on an ambiguous field name with a filter' do
379380 let ( :resource ) { Tree }
380381 let ( :sort ) { '-name' }
381- let ( :fields ) { { 'Tree' => 'id,name ' } }
382+ let ( :fields ) { { 'Tree' => 'id' } }
382383 let ( :filters ) { {
383384 field : 'cutter:name' ,
384385 operator : 'equal' ,
@@ -416,7 +417,7 @@ def association_connection.current_database
416417
417418 describe 'when filtering on an updated_at field of an associated collection' do
418419 let ( :resource ) { Tree }
419- let ( :fields ) { { 'Tree' => 'id,name ' } }
420+ let ( :fields ) { { 'Tree' => 'id' } }
420421 let ( :filters ) { {
421422 field : 'island:updated_at' ,
422423 operator : 'previous_year'
@@ -591,64 +592,6 @@ def association_connection.current_database
591592 end
592593 end
593594
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
652595 end
653596 end
654597end
0 commit comments