diff --git a/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.spec.ts b/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.spec.ts index 2e3fffa6c..8bfc99ad0 100644 --- a/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.spec.ts +++ b/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.spec.ts @@ -24,6 +24,26 @@ describe('Elements: NovoDataTablePagination', () => { component = fixture.debugElement.componentInstance; })); + describe('Setter: set page()', () => { + beforeEach(() => { + component.pageSize = 25; + component.length = 500; + component.ngOnInit(); + spyOn(component, 'updateDisplayedPageSizeOptions').and.callThrough(); + }); + it('should set displayed pages via updateDisplayedPageSizeOptions function', () => { + component.selectPage(10); + expect(component.page).toEqual(10); + const actualDisplayedPageNumbers1 = component.pages.map((page) => page.number); + expect(actualDisplayedPageNumbers1).toEqual([8, 9, 10, 11, 12]); + component.page = 1; + expect(component.page).toEqual(1); + const actualDisplayedPageNumbers2 = component.pages.map((page) => page.number); + expect(component.updateDisplayedPageSizeOptions).toHaveBeenCalled(); + expect(actualDisplayedPageNumbers2).toEqual([1, 2, 3, 4, 5]); + }); + }); + describe('Method: selectPage()', () => { beforeEach(() => { spyOn(component.state, 'checkRetainment'); diff --git a/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.ts b/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.ts index 48679f5be..ed9ec7652 100644 --- a/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.ts +++ b/projects/novo-elements/src/elements/data-table/pagination/data-table-pagination.component.ts @@ -114,6 +114,7 @@ export class NovoDataTablePagination implements OnInit, OnDestroy { this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false); this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true); this.state.page = this._page; + this.updateDisplayedPageSizeOptions(); } _page: number = 0;