Skip to content

Commit 10f1115

Browse files
committed
docs(material/progress-spinner): add harness example for progress spinner (#21449)
(cherry picked from commit b5a47d7)
1 parent 5d3cbc9 commit 10f1115

File tree

5 files changed

+78
-0
lines changed

5 files changed

+78
-0
lines changed

src/components-examples/material/progress-spinner/BUILD.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ ng_module(
1111
]),
1212
module_name = "@angular/components-examples/material/progress-spinner",
1313
deps = [
14+
"//src/cdk/testing",
15+
"//src/cdk/testing/testbed",
1416
"//src/material/card",
1517
"//src/material/progress-spinner",
18+
"//src/material/progress-spinner/testing",
1619
"//src/material/radio",
1720
"//src/material/slider",
1821
"@npm//@angular/forms",
22+
"@npm//@angular/platform-browser",
23+
"@npm//@angular/platform-browser-dynamic",
24+
"@npm//@types/jasmine",
1925
],
2026
)
2127

src/components-examples/material/progress-spinner/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,19 @@ import {
1111
import {
1212
ProgressSpinnerOverviewExample
1313
} from './progress-spinner-overview/progress-spinner-overview-example';
14+
import {
15+
ProgressSpinnerHarnessExample
16+
} from './progress-spinner-harness/progress-spinner-harness-example';
1417

1518
export {
1619
ProgressSpinnerConfigurableExample,
20+
ProgressSpinnerHarnessExample,
1721
ProgressSpinnerOverviewExample,
1822
};
1923

2024
const EXAMPLES = [
2125
ProgressSpinnerConfigurableExample,
26+
ProgressSpinnerHarnessExample,
2227
ProgressSpinnerOverviewExample,
2328
];
2429

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<mat-progress-spinner mode="determinate" [value]="value"></mat-progress-spinner>
2+
<mat-spinner></mat-spinner>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import {TestBed, ComponentFixture, waitForAsync} from '@angular/core/testing';
2+
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
3+
import {MatProgressSpinnerHarness} from '@angular/material/progress-spinner/testing';
4+
import {HarnessLoader} from '@angular/cdk/testing';
5+
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6+
from '@angular/platform-browser-dynamic/testing';
7+
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
8+
import {ProgressSpinnerHarnessExample} from './progress-spinner-harness-example';
9+
10+
describe('ProgressSpinnerHarnessExample', () => {
11+
let fixture: ComponentFixture<ProgressSpinnerHarnessExample>;
12+
let loader: HarnessLoader;
13+
14+
beforeAll(() => {
15+
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
16+
});
17+
18+
beforeEach(
19+
waitForAsync(() => {
20+
TestBed.configureTestingModule({
21+
imports: [MatProgressSpinnerModule],
22+
declarations: [ProgressSpinnerHarnessExample]
23+
}).compileComponents();
24+
fixture = TestBed.createComponent(ProgressSpinnerHarnessExample);
25+
fixture.detectChanges();
26+
loader = TestbedHarnessEnvironment.loader(fixture);
27+
})
28+
);
29+
30+
it('should load all progress spinner harnesses', async () => {
31+
const progressSpinners = await loader.getAllHarnesses(MatProgressSpinnerHarness);
32+
expect(progressSpinners.length).toBe(2);
33+
});
34+
35+
it('should get the value', async () => {
36+
fixture.componentInstance.value = 50;
37+
const [
38+
determinate,
39+
impliedIndeterminate
40+
] = await loader.getAllHarnesses(MatProgressSpinnerHarness);
41+
expect(await determinate.getValue()).toBe(50);
42+
expect(await impliedIndeterminate.getValue()).toBe(null);
43+
});
44+
45+
it('should get the mode', async () => {
46+
const [
47+
determinate,
48+
impliedIndeterminate
49+
] = await loader.getAllHarnesses(MatProgressSpinnerHarness);
50+
expect(await determinate.getMode()).toBe('determinate');
51+
expect(await impliedIndeterminate.getMode()).toBe('indeterminate');
52+
});
53+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {Component} from '@angular/core';
2+
3+
/**
4+
* @title Testing with MatProgressSpinnerHarness
5+
*/
6+
@Component({
7+
selector: 'progress-spinner-harness-example',
8+
templateUrl: 'progress-spinner-harness-example.html',
9+
})
10+
export class ProgressSpinnerHarnessExample {
11+
value: number;
12+
}

0 commit comments

Comments
 (0)