@@ -465,7 +465,25 @@ def remove_quotes_and_backticks(str)
465465 expect ( sort . dir ) . to eq 'desc'
466466 end
467467
468- it 'creates sorts based on a single alias' do
468+ it 'creates sorts based on a single attribute and uppercase direction' do
469+ @s . sorts = 'id DESC'
470+ expect ( @s . sorts . size ) . to eq ( 1 )
471+ sort = @s . sorts . first
472+ expect ( sort ) . to be_a Nodes ::Sort
473+ expect ( sort . name ) . to eq 'id'
474+ expect ( sort . dir ) . to eq 'desc'
475+ end
476+
477+ it 'creates sorts based on a single attribute and without direction' do
478+ @s . sorts = 'id'
479+ expect ( @s . sorts . size ) . to eq ( 1 )
480+ sort = @s . sorts . first
481+ expect ( sort ) . to be_a Nodes ::Sort
482+ expect ( sort . name ) . to eq 'id'
483+ expect ( sort . dir ) . to eq 'asc'
484+ end
485+
486+ it 'creates sorts based on a single alias/direction' do
469487 @s . sorts = 'daddy desc'
470488 expect ( @s . sorts . size ) . to eq ( 1 )
471489 sort = @s . sorts . first
@@ -474,100 +492,100 @@ def remove_quotes_and_backticks(str)
474492 expect ( sort . dir ) . to eq 'desc'
475493 end
476494
477- it 'creates sorts based on a single attribute and uppercase direction' do
478- @s . sorts = 'id DESC'
495+ it 'creates sorts based on a single alias and uppercase direction' do
496+ @s . sorts = 'daddy DESC'
479497 expect ( @s . sorts . size ) . to eq ( 1 )
480498 sort = @s . sorts . first
481499 expect ( sort ) . to be_a Nodes ::Sort
482- expect ( sort . name ) . to eq 'id '
500+ expect ( sort . name ) . to eq 'parent_name '
483501 expect ( sort . dir ) . to eq 'desc'
484502 end
485503
486- it 'creates sorts based on a single attribute and without direction' do
487- @s . sorts = 'id '
504+ it 'creates sorts based on a single alias and without direction' do
505+ @s . sorts = 'daddy '
488506 expect ( @s . sorts . size ) . to eq ( 1 )
489507 sort = @s . sorts . first
490508 expect ( sort ) . to be_a Nodes ::Sort
491- expect ( sort . name ) . to eq 'id '
509+ expect ( sort . name ) . to eq 'parent_name '
492510 expect ( sort . dir ) . to eq 'asc'
493511 end
494512
495- it 'creates sorts based on multiple attributes/ directions in array format' do
496- @s . sorts = [ 'id desc' , { name : 'name ' , dir : 'asc' } ]
513+ it 'creates sorts based on attributes, alias and directions in array format' do
514+ @s . sorts = [ 'id desc' , { name : 'daddy ' , dir : 'asc' } ]
497515 expect ( @s . sorts . size ) . to eq ( 2 )
498516 sort1 , sort2 = @s . sorts
499517 expect ( sort1 ) . to be_a Nodes ::Sort
500518 expect ( sort1 . name ) . to eq 'id'
501519 expect ( sort1 . dir ) . to eq 'desc'
502520 expect ( sort2 ) . to be_a Nodes ::Sort
503- expect ( sort2 . name ) . to eq 'name '
521+ expect ( sort2 . name ) . to eq 'parent_name '
504522 expect ( sort2 . dir ) . to eq 'asc'
505523 end
506524
507- it 'creates sorts based on multiple attributes and uppercase directions in array format' do
508- @s . sorts = [ 'id DESC' , { name : 'name ' , dir : 'ASC' } ]
525+ it 'creates sorts based on attributes, alias and uppercase directions in array format' do
526+ @s . sorts = [ 'id DESC' , { name : 'daddy ' , dir : 'ASC' } ]
509527 expect ( @s . sorts . size ) . to eq ( 2 )
510528 sort1 , sort2 = @s . sorts
511529 expect ( sort1 ) . to be_a Nodes ::Sort
512530 expect ( sort1 . name ) . to eq 'id'
513531 expect ( sort1 . dir ) . to eq 'desc'
514532 expect ( sort2 ) . to be_a Nodes ::Sort
515- expect ( sort2 . name ) . to eq 'name '
533+ expect ( sort2 . name ) . to eq 'parent_name '
516534 expect ( sort2 . dir ) . to eq 'asc'
517535 end
518536
519- it 'creates sorts based on multiple attributes and different directions
537+ it 'creates sorts based on attributes, alias and different directions
520538 in array format' do
521- @s . sorts = [ 'id DESC' , { name : 'name ' , dir : nil } ]
539+ @s . sorts = [ 'id DESC' , { name : 'daddy ' , dir : nil } ]
522540 expect ( @s . sorts . size ) . to eq ( 2 )
523541 sort1 , sort2 = @s . sorts
524542 expect ( sort1 ) . to be_a Nodes ::Sort
525543 expect ( sort1 . name ) . to eq 'id'
526544 expect ( sort1 . dir ) . to eq 'desc'
527545 expect ( sort2 ) . to be_a Nodes ::Sort
528- expect ( sort2 . name ) . to eq 'name '
546+ expect ( sort2 . name ) . to eq 'parent_name '
529547 expect ( sort2 . dir ) . to eq 'asc'
530548 end
531549
532- it 'creates sorts based on multiple attributes/ directions in hash format' do
550+ it 'creates sorts based on attributes, alias and directions in hash format' do
533551 @s . sorts = {
534552 '0' => { name : 'id' , dir : 'desc' } ,
535- '1' => { name : 'name ' , dir : 'asc' }
553+ '1' => { name : 'daddy ' , dir : 'asc' }
536554 }
537555 expect ( @s . sorts . size ) . to eq ( 2 )
538556 expect ( @s . sorts ) . to be_all { |s | Nodes ::Sort === s }
539557 id_sort = @s . sorts . detect { |s | s . name == 'id' }
540- name_sort = @s . sorts . detect { |s | s . name == 'name ' }
558+ daddy_sort = @s . sorts . detect { |s | s . name == 'parent_name ' }
541559 expect ( id_sort . dir ) . to eq 'desc'
542- expect ( name_sort . dir ) . to eq 'asc'
560+ expect ( daddy_sort . dir ) . to eq 'asc'
543561 end
544562
545- it 'creates sorts based on multiple attributes and uppercase directions
563+ it 'creates sorts based on attributes, alias and uppercase directions
546564 in hash format' do
547565 @s . sorts = {
548566 '0' => { name : 'id' , dir : 'DESC' } ,
549- '1' => { name : 'name ' , dir : 'ASC' }
567+ '1' => { name : 'daddy ' , dir : 'ASC' }
550568 }
551569 expect ( @s . sorts . size ) . to eq ( 2 )
552570 expect ( @s . sorts ) . to be_all { |s | Nodes ::Sort === s }
553571 id_sort = @s . sorts . detect { |s | s . name == 'id' }
554- name_sort = @s . sorts . detect { |s | s . name == 'name ' }
572+ daddy_sort = @s . sorts . detect { |s | s . name == 'parent_name ' }
555573 expect ( id_sort . dir ) . to eq 'desc'
556- expect ( name_sort . dir ) . to eq 'asc'
574+ expect ( daddy_sort . dir ) . to eq 'asc'
557575 end
558576
559- it 'creates sorts based on multiple attributes and different directions
577+ it 'creates sorts based on attributes, alias and different directions
560578 in hash format' do
561579 @s . sorts = {
562580 '0' => { name : 'id' , dir : 'DESC' } ,
563- '1' => { name : 'name ' , dir : nil }
581+ '1' => { name : 'daddy ' , dir : nil }
564582 }
565583 expect ( @s . sorts . size ) . to eq ( 2 )
566584 expect ( @s . sorts ) . to be_all { |s | Nodes ::Sort === s }
567585 id_sort = @s . sorts . detect { |s | s . name == 'id' }
568- name_sort = @s . sorts . detect { |s | s . name == 'name ' }
586+ daddy_sort = @s . sorts . detect { |s | s . name == 'parent_name ' }
569587 expect ( id_sort . dir ) . to eq 'desc'
570- expect ( name_sort . dir ) . to eq 'asc'
588+ expect ( daddy_sort . dir ) . to eq 'asc'
571589 end
572590
573591 it 'overrides existing sort' do
0 commit comments