@@ -15,7 +15,7 @@ describe('feature/repository/retrieves_order_by', () => {
15
15
@Num ( 0 ) age ! : number
16
16
}
17
17
18
- it ( 'can sort the records by the `order by` clause ' , ( ) => {
18
+ it ( 'can sort records using the `orderBy` modifier ' , ( ) => {
19
19
const store = createStore ( )
20
20
21
21
fillState ( store , {
@@ -39,7 +39,7 @@ describe('feature/repository/retrieves_order_by', () => {
39
39
assertModels ( users , expected )
40
40
} )
41
41
42
- it ( 'can sort the records by "desc" order' , ( ) => {
42
+ it ( 'can sort records in descending order' , ( ) => {
43
43
const store = createStore ( )
44
44
45
45
fillState ( store , {
@@ -63,7 +63,7 @@ describe('feature/repository/retrieves_order_by', () => {
63
63
assertModels ( users , expected )
64
64
} )
65
65
66
- it ( 'can combine multiple orders ' , ( ) => {
66
+ it ( 'can sort records by combining multiple `orderBy` modifiers ' , ( ) => {
67
67
const store = createStore ( )
68
68
69
69
fillState ( store , {
@@ -90,4 +90,31 @@ describe('feature/repository/retrieves_order_by', () => {
90
90
assertInstanceOf ( users , User )
91
91
assertModels ( users , expected )
92
92
} )
93
+
94
+ it ( 'can sort records by specifying a callback' , ( ) => {
95
+ const store = createStore ( )
96
+
97
+ fillState ( store , {
98
+ users : {
99
+ 1 : { id : 1 , name : 'James' , age : 40 } ,
100
+ 2 : { id : 2 , name : 'Andy' , age : 30 } ,
101
+ 3 : { id : 3 , name : 'David' , age : 20 }
102
+ }
103
+ } )
104
+
105
+ const users = store
106
+ . $repo ( User )
107
+ . orderBy ( ( user ) => user . age , 'desc' )
108
+ . get ( )
109
+
110
+ const expected = [
111
+ { id : 1 , name : 'James' , age : 40 } ,
112
+ { id : 2 , name : 'Andy' , age : 30 } ,
113
+ { id : 3 , name : 'David' , age : 20 }
114
+ ]
115
+
116
+ expect ( users ) . toHaveLength ( 3 )
117
+ assertInstanceOf ( users , User )
118
+ assertModels ( users , expected )
119
+ } )
93
120
} )
0 commit comments