|
1 | 1 | import {XtStoreProviderHelper} from './xt-store-provider-helper'; |
2 | 2 | import { XtStoreGroupByAggregate, XtStoreGroupBy } from '../xt-reporting'; |
3 | | -import { XtGroupByOperation, XtSortByDirection } from '../xt-store-parameters'; |
| 3 | +import { XtGroupByOperation, XtSortBy, XtSortByDirection } from '../xt-store-parameters'; |
4 | 4 | import { ManagedData, ManagedDataHandler, SpecialFields, xtTypeManager } from 'xt-type'; |
5 | 5 | import { describe, expect, it } from 'vitest'; |
6 | 6 |
|
@@ -311,5 +311,48 @@ describe('Store Provider Helper', () => { |
311 | 311 | expect(byNameSort.map((val)=> val.name+val.value)).toEqual(['cTest4','cTest10', 'aTest1']); |
312 | 312 |
|
313 | 313 | }) |
| 314 | + |
| 315 | + it ('should support sorted insertion correctly', () => { |
| 316 | + const testArray=[{ |
| 317 | + name: 'cTest', |
| 318 | + value: 4, |
| 319 | + date: new Date (1970,10,5) |
| 320 | + },{ |
| 321 | + name:'cTest', |
| 322 | + value: 10, |
| 323 | + date: new Date(2010,8,4) |
| 324 | + },{ |
| 325 | + name:'aTest', |
| 326 | + value:1, |
| 327 | + date: new Date(1960, 5,10) |
| 328 | + },]; |
| 329 | + |
| 330 | + const sortOptions=[{ |
| 331 | + by:'name', |
| 332 | + direction:XtSortByDirection.Descending |
| 333 | + }, { |
| 334 | + by:'value', |
| 335 | + direction:XtSortByDirection.Ascending |
| 336 | + }] as XtSortBy<any>[]; |
| 337 | + |
| 338 | + const byNameInsert = XtStoreProviderHelper.insertInSortedList({ |
| 339 | + name:'bTest', |
| 340 | + value:7, |
| 341 | + date:new Date() |
| 342 | + }, |
| 343 | + [...testArray], sortOptions); |
| 344 | + |
| 345 | + expect(byNameInsert.map((val)=> val.name+val.value)).toEqual(['cTest4','cTest10','bTest7', 'aTest1']); |
| 346 | + |
| 347 | + const byValueInsert = XtStoreProviderHelper.insertInSortedList({ |
| 348 | + name:'cTest', |
| 349 | + value:6, |
| 350 | + date:new Date() |
| 351 | + }, |
| 352 | + [...testArray], sortOptions); |
| 353 | + |
| 354 | + expect(byValueInsert.map((val)=> val.name+val.value)).toEqual(['cTest4','cTest6','cTest10', 'aTest1']); |
| 355 | + |
| 356 | + }) |
314 | 357 | } |
315 | 358 | ); |
0 commit comments