|
1 | 1 | import { IgxNumberSummaryOperand } from '../summaries/grid-summary'; |
2 | | -import { IPivotConfiguration } from './pivot-grid.interface'; |
| 2 | +import { IPivotConfiguration, IPivotValue } from './pivot-grid.interface'; |
3 | 3 | import { IgxPivotColumnPipe, IgxPivotRowPipe } from './pivot-grid.pipes'; |
4 | 4 |
|
5 | 5 | describe('Pivot pipes', () => { |
@@ -345,4 +345,44 @@ describe('Pivot pipes', () => { |
345 | 345 | {'field1':'All-Components','level':1,'USA':240,'USA-John':240,'USA-John-12/08/2021':240} |
346 | 346 | ]); |
347 | 347 | }); |
| 348 | + |
| 349 | + it('transforms flat data to pivot data 2 value dimensions', () => { |
| 350 | + const values: IPivotValue[] = [ |
| 351 | + { |
| 352 | + member: 'UnitsSold', |
| 353 | + aggregate: IgxNumberSummaryOperand.sum, |
| 354 | + enabled: true |
| 355 | + }, |
| 356 | + { |
| 357 | + member: 'UnitPrice', |
| 358 | + aggregate: IgxNumberSummaryOperand.sum, |
| 359 | + enabled: true |
| 360 | + } |
| 361 | + ]; |
| 362 | + const rowPipeResult = rowPipe.transform(data, pivotConfigHierarchy.rows, expansionStates, values); |
| 363 | + const columnPipeResult = columnPipe.transform(rowPipeResult, pivotConfigHierarchy.columns, values); |
| 364 | + expect(columnPipeResult).toEqual([{ |
| 365 | + 'field1':'All','records':[ |
| 366 | + {'field1':'All-Clothing','level':1,'All-UnitsSold':1526,'All-Bulgaria-UnitsSold':774, |
| 367 | + 'All-Bulgaria-UnitPrice':28.86,'All-USA-UnitsSold':296,'All-USA-UnitPrice':49.57,'All-Uruguay-UnitsSold':456, |
| 368 | + 'All-Uruguay-UnitPrice':68.33,'All-UnitPrice':146.76}, |
| 369 | + {'field1':'All-Bikes','level':1,'All-UnitsSold':68,'All-Uruguay-UnitsSold':68, |
| 370 | + 'All-Uruguay-UnitPrice':3.56,'All-UnitPrice':3.56}, |
| 371 | + {'field1':'All-Accessories','level':1,'All-UnitsSold':293,'All-USA-UnitsSold':293, |
| 372 | + 'All-USA-UnitPrice':85.58,'All-UnitPrice':85.58}, |
| 373 | + {'field1':'All-Components','level':1,'All-UnitsSold':240,'All-USA-UnitsSold':240, |
| 374 | + 'All-USA-UnitPrice':18.13,'All-UnitPrice':18.13} |
| 375 | + ],'level':0,'All-UnitsSold':2127,'All-Bulgaria-UnitsSold':774,'All-Bulgaria-UnitPrice':28.86,'All-USA-UnitsSold':829, |
| 376 | + 'All-USA-UnitPrice':153.28,'All-Uruguay-UnitsSold':524,'All-Uruguay-UnitPrice':71.89,'All-UnitPrice':254.02999999999997}, |
| 377 | + {'field1':'All-Clothing','level':1,'All-UnitsSold':1526,'All-Bulgaria-UnitsSold':774, |
| 378 | + 'All-Bulgaria-UnitPrice':28.86,'All-USA-UnitsSold':296,'All-USA-UnitPrice':49.57,'All-Uruguay-UnitsSold':456, |
| 379 | + 'All-Uruguay-UnitPrice':68.33,'All-UnitPrice':146.76}, |
| 380 | + {'field1':'All-Bikes','level':1,'All-UnitsSold':68,'All-Uruguay-UnitsSold':68, |
| 381 | + 'All-Uruguay-UnitPrice':3.56,'All-UnitPrice':3.56}, |
| 382 | + {'field1':'All-Accessories','level':1,'All-UnitsSold':293,'All-USA-UnitsSold':293, |
| 383 | + 'All-USA-UnitPrice':85.58,'All-UnitPrice':85.58}, |
| 384 | + {'field1':'All-Components','level':1,'All-UnitsSold':240,'All-USA-UnitsSold':240, |
| 385 | + 'All-USA-UnitPrice':18.13,'All-UnitPrice':18.13} |
| 386 | + ]); |
| 387 | + }); |
348 | 388 | }); |
0 commit comments