diff --git a/modules/ui/src/app/mocks/testrun.mock.ts b/modules/ui/src/app/mocks/testrun.mock.ts index af25ee3a4..aa2ec4a8e 100644 --- a/modules/ui/src/app/mocks/testrun.mock.ts +++ b/modules/ui/src/app/mocks/testrun.mock.ts @@ -167,6 +167,12 @@ export const MOCK_PROGRESS_DATA_WAITING_FOR_DEVICE: TestrunStatus = { started: null, }; +export const MOCK_PROGRESS_DATA_STARTING: TestrunStatus = { + ...MOCK_PROGRESS_DATA_IN_PROGRESS, + status: StatusOfTestrun.Starting, + started: null, +}; + export const MOCK_PROGRESS_DATA_VALIDATING: TestrunStatus = { ...MOCK_PROGRESS_DATA_IN_PROGRESS, status: StatusOfTestrun.Validating, diff --git a/modules/ui/src/app/model/testrun-status.ts b/modules/ui/src/app/model/testrun-status.ts index 5080c7c92..c7c92e695 100644 --- a/modules/ui/src/app/model/testrun-status.ts +++ b/modules/ui/src/app/model/testrun-status.ts @@ -72,6 +72,7 @@ export enum StatusOfTestrun { SmartReady = 'Smart Ready', // used for Completed Idle = 'Idle', Monitoring = 'Monitoring', + Starting = 'Starting', Error = 'Error', Validating = 'Validating Network', Proceed = 'Proceed', diff --git a/modules/ui/src/app/pages/testrun/components/testrun-status-card/testrun-status-card.component.ts b/modules/ui/src/app/pages/testrun/components/testrun-status-card/testrun-status-card.component.ts index 7f2120138..c65b90514 100644 --- a/modules/ui/src/app/pages/testrun/components/testrun-status-card/testrun-status-card.component.ts +++ b/modules/ui/src/app/pages/testrun/components/testrun-status-card/testrun-status-card.component.ts @@ -97,6 +97,7 @@ export class TestrunStatusCardComponent { status === StatusOfTestrun.Monitoring || status === StatusOfTestrun.InProgress || status === StatusOfTestrun.WaitingForDevice || + status === StatusOfTestrun.Starting || status === StatusOfTestrun.Validating ); } diff --git a/modules/ui/src/app/pages/testrun/components/testrun-table/testrun-table.component.ts b/modules/ui/src/app/pages/testrun/components/testrun-table/testrun-table.component.ts index 3ecb45e09..586a01164 100644 --- a/modules/ui/src/app/pages/testrun/components/testrun-table/testrun-table.component.ts +++ b/modules/ui/src/app/pages/testrun/components/testrun-table/testrun-table.component.ts @@ -55,6 +55,9 @@ export class TestrunTableComponent { } public getRequiredResultClass(result: string): string { + if (!result) { + return ''; + } return result.split(' ').join('-').toLowerCase(); } diff --git a/modules/ui/src/app/pages/testrun/testrun.store.spec.ts b/modules/ui/src/app/pages/testrun/testrun.store.spec.ts index 24ffc6ba2..5518feb49 100644 --- a/modules/ui/src/app/pages/testrun/testrun.store.spec.ts +++ b/modules/ui/src/app/pages/testrun/testrun.store.spec.ts @@ -46,6 +46,7 @@ import { MOCK_PROGRESS_DATA_VALIDATING, TEST_DATA_RESULT_WITH_RECOMMENDATIONS, TEST_DATA_TABLE_RESULT, + MOCK_PROGRESS_DATA_STARTING, } from '../../mocks/testrun.mock'; import { LoaderService } from '../../services/loader.service'; @@ -187,6 +188,21 @@ describe('TestrunStore', () => { }); }); + it('should set value with empty values for status "Starting"', done => { + const expectedResult = EMPTY_RESULT; + + store.overrideSelector( + selectSystemStatus, + MOCK_PROGRESS_DATA_STARTING + ); + store.refreshState(); + + testrunStore.viewModel$.pipe(take(1)).subscribe(store => { + expect(store.dataSource).toEqual(expectedResult); + done(); + }); + }); + it('should set value with empty values for status "Cancelled" and empty result', done => { const expectedResult = EMPTY_RESULT; diff --git a/modules/ui/src/app/pages/testrun/testrun.store.ts b/modules/ui/src/app/pages/testrun/testrun.store.ts index 351ec10d1..b21ad4785 100644 --- a/modules/ui/src/app/pages/testrun/testrun.store.ts +++ b/modules/ui/src/app/pages/testrun/testrun.store.ts @@ -101,6 +101,7 @@ export class TestrunStore extends ComponentStore { if ( res?.status === StatusOfTestrun.Validating || res?.status === StatusOfTestrun.WaitingForDevice || + res?.status === StatusOfTestrun.Starting || res?.status === StatusOfTestrun.Monitoring || (res?.status === StatusOfTestrun.InProgress && this.resultIsEmpty(res.tests)) @@ -123,6 +124,7 @@ export class TestrunStore extends ComponentStore { res?.status === StatusOfTestrun.Validating || res?.status === StatusOfTestrun.Monitoring || res?.status === StatusOfTestrun.WaitingForDevice || + res?.status === StatusOfTestrun.Starting || (res?.status === StatusOfTestrun.Cancelled && !results.length) ) { this.setDataSource(EMPTY_RESULT); @@ -210,6 +212,7 @@ export class TestrunStore extends ComponentStore { return ( status === StatusOfTestrun.InProgress || status === StatusOfTestrun.WaitingForDevice || + status === StatusOfTestrun.Starting || status === StatusOfTestrun.Monitoring || status === StatusOfTestrun.Validating ); diff --git a/modules/ui/src/app/services/test-run.service.spec.ts b/modules/ui/src/app/services/test-run.service.spec.ts index d50a9e8fc..9496392a8 100644 --- a/modules/ui/src/app/services/test-run.service.spec.ts +++ b/modules/ui/src/app/services/test-run.service.spec.ts @@ -365,6 +365,7 @@ describe('TestRunService', () => { const resultsInProgress = [ StatusOfTestrun.InProgress, StatusOfTestrun.WaitingForDevice, + StatusOfTestrun.Starting, StatusOfTestrun.Monitoring, StatusOfTestrun.Validating, ]; diff --git a/modules/ui/src/app/services/test-run.service.ts b/modules/ui/src/app/services/test-run.service.ts index d7539d2ab..94a3f7aab 100644 --- a/modules/ui/src/app/services/test-run.service.ts +++ b/modules/ui/src/app/services/test-run.service.ts @@ -192,6 +192,7 @@ export class TestRunService { return ( status === StatusOfTestrun.InProgress || status === StatusOfTestrun.WaitingForDevice || + status === StatusOfTestrun.Starting || status === StatusOfTestrun.Monitoring || status === StatusOfTestrun.Validating );