Skip to content

Commit

Permalink
fix(sorting): add some unit tests that were previously commented out (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
ghiscoding authored Mar 18, 2021
1 parent 3aecc89 commit 2a91fa6
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 33 deletions.
67 changes: 35 additions & 32 deletions packages/common/src/services/__tests__/sort.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -639,51 +639,54 @@ describe('SortService', () => {
const mockColumns = [{ id: 'firstName', field: 'firstName' }, { id: 'lastName', field: 'lastName' }] as Column[];

beforeEach(() => {
// gridOptionMock.presets = {
// sorters: [{ columnId: 'firstName', direction: 'ASC' }, { columnId: 'lastName', direction: 'DESC' }],
// };
gridOptionMock.presets = {
sorters: [{ columnId: 'firstName', direction: 'ASC' }, { columnId: 'lastName', direction: 'DESC' }],
};
jest.spyOn(gridStub, 'getColumns').mockReturnValue(mockColumns);
});

// it('should load local grid presets', () => {
// const spySetCols = jest.spyOn(gridStub, 'setSortColumns');
// const spySortChanged = jest.spyOn(service, 'onLocalSortChanged');
// const expectation = [
// { columnId: 'firstName', sortAsc: true, sortCol: { id: 'firstName', field: 'firstName' } },
// { columnId: 'lastName', sortAsc: false, sortCol: { id: 'lastName', field: 'lastName' } },
// ];
it('should load local grid presets', () => {
const spySetCols = jest.spyOn(gridStub, 'setSortColumns');
const spySortChanged = jest.spyOn(service, 'onLocalSortChanged');
const expectation = [
{ columnId: 'firstName', sortAsc: true, sortCol: { id: 'firstName', field: 'firstName' } },
{ columnId: 'lastName', sortAsc: false, sortCol: { id: 'lastName', field: 'lastName' } },
];

// service.bindLocalOnSort(gridStub);
// service.loadGridSorters(gridOptionMock.presets.sorters);
service.bindLocalOnSort(gridStub);
service.loadGridSorters(gridOptionMock.presets.sorters);

// expect(spySetCols).toHaveBeenCalledWith(expectation);
// expect(spySortChanged).toHaveBeenCalledWith(gridStub, expectation);
// });
expect(spySetCols).toHaveBeenCalledWith([
{ columnId: 'firstName', sortAsc: true, },
{ columnId: 'lastName', sortAsc: false },
]);
expect(spySortChanged).toHaveBeenCalledWith(gridStub, expectation);
});
});

describe('undefined getColumns & getOptions', () => {
// it('should use an empty column definition when grid "getColumns" method is not available', () => {
// gridOptionMock.presets = {
// sorters: [{ columnId: 'firstName', direction: 'ASC' }, { columnId: 'lastName', direction: 'DESC' }],
// };
// const spySetCols = jest.spyOn(gridStub, 'setSortColumns');
// gridStub.getColumns = undefined;
it('should use an empty column definition when grid "getColumns" method is not available', () => {
gridOptionMock.presets = {
sorters: [{ columnId: 'firstName', direction: 'ASC' }, { columnId: 'lastName', direction: 'DESC' }],
};
const spySetCols = jest.spyOn(gridStub, 'setSortColumns');
gridStub.getColumns = undefined;

// service.bindLocalOnSort(gridStub);
// service.loadGridSorters(gridOptionMock.presets.sorters);
service.bindLocalOnSort(gridStub);
service.loadGridSorters(gridOptionMock.presets.sorters);

// expect(spySetCols).not.toHaveBeenCalled();
// });
expect(spySetCols).toHaveBeenCalledWith([]);
});

// it('should use an empty grid option object when grid "getOptions" method is not available', () => {
// const spySetCols = jest.spyOn(gridStub, 'setSortColumns');
// gridStub.getOptions = undefined;
it('should use an empty grid option object when grid "getOptions" method is not available', () => {
const spySetCols = jest.spyOn(gridStub, 'setSortColumns');
gridStub.getOptions = undefined;

// service.bindLocalOnSort(gridStub);
// service.loadGridSorters(gridOptionMock.presets.sorters);
service.bindLocalOnSort(gridStub);
service.loadGridSorters(gridOptionMock.presets.sorters);

// expect(spySetCols).not.toHaveBeenCalled();
// });
expect(spySetCols).toHaveBeenCalledWith([]);
});
});

describe('onLocalSortChanged method', () => {
Expand Down
1 change: 0 additions & 1 deletion packages/common/src/services/sort.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ export class SortService {

this.onLocalSortChanged(this._grid, sortCols);
this._grid.setSortColumns(sortCols.map(col => ({ columnId: col.columnId, sortAsc: col.sortAsc }))); // use this to add sort icon(s) in UI

}
return sortCols;
}
Expand Down

0 comments on commit 2a91fa6

Please sign in to comment.