import {HarnessLoader} from '@angular/cdk-experimental/testing'; import {TestbedHarnessEnvironment} from '@angular/cdk-experimental/testing/testbed'; import {Component} from '@angular/core'; import {ComponentFixture, TestBed} from '@angular/core/testing'; import {MatProgressSpinnerModule, ProgressSpinnerMode} from '@angular/material/progress-spinner'; import {MatProgressSpinnerHarness} from './progress-spinner-harness'; let fixture: ComponentFixture; let loader: HarnessLoader; let progressSpinnerHarness: typeof MatProgressSpinnerHarness; describe('MatProgressSpinnerHarness', () => { beforeEach(async () => { await TestBed .configureTestingModule({ imports: [MatProgressSpinnerModule], declarations: [ProgressSpinnerHarnessTest], }) .compileComponents(); fixture = TestBed.createComponent(ProgressSpinnerHarnessTest); fixture.detectChanges(); loader = TestbedHarnessEnvironment.loader(fixture); progressSpinnerHarness = MatProgressSpinnerHarness; }); runTests(); }); function runTests() { it('should load all progress spinner harnesses', async () => { const progressSpinners = await loader.getAllHarnesses(progressSpinnerHarness); expect(progressSpinners.length).toBe(2); }); it('should get the value', async () => { fixture.componentInstance.value = 50; const [determinate, indeterminate] = await loader.getAllHarnesses(progressSpinnerHarness); expect(await determinate.getValue()).toBe(50); expect(await indeterminate.getValue()).toBe(null); }); it('should get the mode', async () => { const [determinate, indeterminate] = await loader.getAllHarnesses(progressSpinnerHarness); expect(await determinate.getMode()).toBe('determinate'); expect(await indeterminate.getMode()).toBe('indeterminate'); }); } @Component({ template: ` ` }) class ProgressSpinnerHarnessTest { value: number; }