UNPKG

imng-kendo-grid-odata

Version:

This library was generated with [Nx](https://nx.dev).

99 lines (92 loc) 3.35 kB
import { jest, expect } from '@jest/globals'; import { of } from 'rxjs'; import { readFirst } from 'imng-ngrx-utils/testing'; import { KENDO_BUTTON, KENDO_SPLITBUTTON } from '@progress/kendo-angular-buttons'; import { ColumnChooserComponent } from '@progress/kendo-angular-grid'; import { KENDO_SVGICON } from '@progress/kendo-angular-icons'; import { KENDO_POPUP } from '@progress/kendo-angular-popup'; import { KENDO_PROGRESSBAR } from '@progress/kendo-angular-progressbar'; import { IMNG_KENDO_GRID_HEADER_STUBS, IMNG_KENDO_BUTTON_STUB } from 'imng-kendo-testing-stubs'; /* istanbul ignore file */ class ODataGridMockFacade { constructor() { this.loading$ = of(false); this.gridODataState$ = of({}); this.gridData$ = of({ data: [{ id: 'apples' }], total: 0, }); this.gridPagerSettings$ = of({}); this.loadEntities = jest.fn(); this.reloadEntities = jest.fn(); } } function createODataGridMockFacade( // eslint-disable-next-line @typescript-eslint/no-explicit-any mockFacade) { const localFacade = new ODataGridMockFacade(); if (!mockFacade) { return localFacade; } mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$; mockFacade.gridODataState$ = mockFacade.gridODataState$ || localFacade.gridODataState$; mockFacade.gridData$ = mockFacade.gridData$ || localFacade.gridData$; mockFacade.gridPagerSettings$ = mockFacade.gridPagerSettings$ || localFacade.gridPagerSettings$; mockFacade.loadEntities = mockFacade.loadEntities || jest.fn(() => { //This is intentional }); mockFacade.reloadEntities = mockFacade.reloadEntities || jest.fn(() => { //This is intentional }); return mockFacade; } async function testGridODataState(done, facade) { const filteringState = { filter: { logic: 'and', filters: [{ field: '💩', operator: 'eq', value: '🍑' }], }, }; let state = await readFirst(facade.gridODataState$); expect(state).toStrictEqual({}); facade.loadEntities(filteringState); state = await readFirst(facade.gridODataState$); expect(state).toStrictEqual(filteringState); facade.reloadEntities(); expect(state).toStrictEqual(filteringState); facade.loadEntities({}); state = await readFirst(facade.gridODataState$); expect(state).toStrictEqual({}); } async function testGridPagerSettings(facade) { const pagerSettings = await readFirst(facade.gridPagerSettings$); expect(pagerSettings).toEqual(false); } function getKendoGridODataHeaderOverride() { return { remove: { imports: [ KENDO_BUTTON, KENDO_SPLITBUTTON, KENDO_POPUP, KENDO_PROGRESSBAR, KENDO_SVGICON, ColumnChooserComponent, ], }, add: { imports: [...IMNG_KENDO_GRID_HEADER_STUBS, IMNG_KENDO_BUTTON_STUB], }, }; } /** * Generated bundle index. Do not edit. */ export { ODataGridMockFacade, createODataGridMockFacade, getKendoGridODataHeaderOverride, testGridODataState, testGridPagerSettings }; //# sourceMappingURL=imng-kendo-grid-odata-testing.mjs.map