From fdf93470c57ed08d9a0c124f046045c1a3e5e1fc Mon Sep 17 00:00:00 2001 From: Shijun Sun <30999793+AllForNothing@users.noreply.github.com> Date: Wed, 8 Feb 2023 12:01:01 +0800 Subject: [PATCH] Correct total count for schedule list datagrid (#18148) 1.Fixes #18120 Signed-off-by: AllForNothing --- .../schedule-list/schedule-list.component.html | 2 +- .../schedule-list/schedule-list.component.spec.ts | 14 ++++++++++++-- .../schedule-list/schedule-list.component.ts | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.html b/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.html index 10ed46e45..57e79db7a 100644 --- a/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.html +++ b/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.html @@ -45,7 +45,7 @@ {{ pagination.lastItem + 1 }} {{ 'GROUP.OF' | translate }} - {{ total }} {{ 'GROUP.ITEMS' | translate }} + {{ total }} {{ 'GROUP.ITEMS' | translate }} diff --git a/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.spec.ts b/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.spec.ts index 775a29406..67100b03f 100644 --- a/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.spec.ts +++ b/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.spec.ts @@ -5,6 +5,7 @@ import { of } from 'rxjs'; import { SharedTestingModule } from '../../../../shared/shared.module'; import { JobServiceDashboardSharedDataService } from '../job-service-dashboard-shared-data.service'; import { ScheduleListResponse } from '../job-service-dashboard.interface'; +import { delay } from 'rxjs/operators'; describe('ScheduleListComponent', () => { let component: ScheduleListComponent; @@ -18,12 +19,13 @@ describe('ScheduleListComponent', () => { const fakedJobServiceDashboardSharedDataService = { _scheduleListResponse: { scheduleList: mockedSchedules, + total: mockedSchedules.length, }, getScheduleListResponse(): ScheduleListResponse { return this._scheduleListResponse; }, retrieveScheduleListResponse() { - return of({}); + return of(this._scheduleListResponse).pipe(delay(0)); }, }; @@ -41,7 +43,6 @@ describe('ScheduleListComponent', () => { fixture = TestBed.createComponent(ScheduleListComponent); component = fixture.componentInstance; - component.loadingSchedules = false; fixture.detectChanges(); }); @@ -56,4 +57,13 @@ describe('ScheduleListComponent', () => { const rows = fixture.nativeElement.querySelectorAll('clr-dg-row'); expect(rows.length).toEqual(2); }); + + it('should show the right total count', async () => { + await fixture.whenStable(); + fixture.detectChanges(); + await fixture.whenStable(); + const span: HTMLSpanElement = + fixture.nativeElement.querySelector('#total'); + expect(span.innerText).toEqual('2'); + }); }); diff --git a/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.ts b/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.ts index e12a0f584..93532fe82 100644 --- a/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.ts +++ b/src/portal/src/app/base/left-side-nav/job-service-dashboard/schedule-list/schedule-list.component.ts @@ -55,6 +55,7 @@ export class ScheduleListComponent { .pipe(finalize(() => (this.loadingSchedules = false))) .subscribe({ next: res => { + this.total = res.total; doSorting(res.scheduleList, state); }, error: err => {