1+ import { sortByOrder , calcOrder , fixOrders } from './order'
2+
3+ const noteTemplate = ( ) => {
4+ return {
5+ id : "qweRty123" ,
6+ name : "note" ,
7+ color : "GREEN" ,
8+ text : "lorem ipsum adamet amer" ,
9+ order : 5
10+ }
11+ }
12+
13+ test ( 'sortByOrder' , ( ) => {
14+ let note1 = noteTemplate ( )
15+ let note2 = noteTemplate ( )
16+ note1 . order = 1
17+ note2 . order = 2
18+ expect ( sortByOrder ( note2 , note1 ) ) . toBe ( 1 )
19+ expect ( sortByOrder ( note1 , note2 ) ) . toBe ( - 1 )
20+ expect ( sortByOrder ( note1 , note1 ) ) . toBe ( 0 )
21+ } )
22+
23+ test ( 'calcOrder' , ( ) => {
24+ let notesArr = [ ]
25+ for ( let i = 0 ; i < 10 ; i ++ ) {
26+ notesArr [ i ] = noteTemplate ( )
27+ notesArr [ i ] . id = String ( Date . now ( ) + i )
28+ notesArr [ i ] . order = Number ( i )
29+ }
30+ expect ( calcOrder ( notesArr ) ) . toBe ( 10 )
31+ notesArr . sort ( ( ) => Math . random ( ) - 0.5 )
32+ expect ( calcOrder ( notesArr ) ) . toBe ( 10 )
33+ } )
34+
35+ test ( 'fixOrders' , ( ) => {
36+ let notesArr = [ ]
37+ for ( let i = 0 ; i < 10 ; i ++ ) {
38+ notesArr [ i ] = noteTemplate ( )
39+ notesArr [ i ] . id = String ( Date . now ( ) + i )
40+ notesArr [ i ] . order = Number ( i * 10 * ( Math . random ( ) - 0.5 ) )
41+ }
42+ notesArr . sort ( ( ) => Math . random ( ) - 0.5 )
43+ const fixedArr = fixOrders ( notesArr )
44+ for ( let i = 0 ; i < 10 ; i ++ ) {
45+ expect ( fixedArr [ i ] . order ) . toBe ( i )
46+ }
47+ } )
0 commit comments