Skip to content

Commit 88558df

Browse files
committed
docs(material/progress-bar): add harness example for progress bar (#21417)
(cherry picked from commit 14a9fbe)
1 parent fd16ca6 commit 88558df

File tree

5 files changed

+71
-0
lines changed

5 files changed

+71
-0
lines changed

src/components-examples/material/progress-bar/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-bar",
1313
deps = [
14+
"//src/cdk/testing",
15+
"//src/cdk/testing/testbed",
1416
"//src/material/card",
1517
"//src/material/progress-bar",
18+
"//src/material/progress-bar/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-bar/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ import {
1616
ProgressBarIndeterminateExample
1717
} from './progress-bar-indeterminate/progress-bar-indeterminate-example';
1818
import {ProgressBarQueryExample} from './progress-bar-query/progress-bar-query-example';
19+
import {ProgressBarHarnessExample} from './progress-bar-harness/progress-bar-harness-example';
1920

2021
export {
2122
ProgressBarBufferExample,
2223
ProgressBarConfigurableExample,
2324
ProgressBarDeterminateExample,
25+
ProgressBarHarnessExample,
2426
ProgressBarIndeterminateExample,
2527
ProgressBarQueryExample,
2628
};
@@ -29,6 +31,7 @@ const EXAMPLES = [
2931
ProgressBarBufferExample,
3032
ProgressBarConfigurableExample,
3133
ProgressBarDeterminateExample,
34+
ProgressBarHarnessExample,
3235
ProgressBarIndeterminateExample,
3336
ProgressBarQueryExample,
3437
];
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<mat-progress-bar mode="determinate" [value]="value"></mat-progress-bar>
2+
<mat-progress-bar mode="indeterminate"></mat-progress-bar>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import {TestBed, ComponentFixture, waitForAsync} from '@angular/core/testing';
2+
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
3+
import {MatProgressBarHarness} from '@angular/material/progress-bar/testing';
4+
import {HarnessLoader} from '@angular/cdk/testing';
5+
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6+
from '@angular/platform-browser-dynamic/testing';
7+
import {MatProgressBarModule} from '@angular/material/progress-bar';
8+
import {ProgressBarHarnessExample} from './progress-bar-harness-example';
9+
10+
describe('ProgressBarHarnessExample', () => {
11+
let fixture: ComponentFixture<ProgressBarHarnessExample>;
12+
let loader: HarnessLoader;
13+
14+
beforeAll(() => {
15+
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
16+
});
17+
18+
beforeEach(
19+
waitForAsync(() => {
20+
TestBed.configureTestingModule({
21+
imports: [MatProgressBarModule],
22+
declarations: [ProgressBarHarnessExample]
23+
}).compileComponents();
24+
fixture = TestBed.createComponent(ProgressBarHarnessExample);
25+
fixture.detectChanges();
26+
loader = TestbedHarnessEnvironment.loader(fixture);
27+
})
28+
);
29+
30+
it('should load all progress bar harnesses', async () => {
31+
const progressBars = await loader.getAllHarnesses(MatProgressBarHarness);
32+
expect(progressBars.length).toBe(2);
33+
});
34+
35+
it('should get the value', async () => {
36+
fixture.componentInstance.value = 50;
37+
const [determinate, indeterminate] = await loader.getAllHarnesses(MatProgressBarHarness);
38+
expect(await determinate.getValue()).toBe(50);
39+
expect(await indeterminate.getValue()).toBe(null);
40+
});
41+
42+
it('should get the mode', async () => {
43+
const [determinate, indeterminate] = await loader.getAllHarnesses(MatProgressBarHarness);
44+
expect(await determinate.getMode()).toBe('determinate');
45+
expect(await indeterminate.getMode()).toBe('indeterminate');
46+
});
47+
});
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {Component} from '@angular/core';
2+
3+
/**
4+
* @title Testing with MatProgressBarHarness
5+
*/
6+
@Component({
7+
selector: 'progress-bar-harness-example',
8+
templateUrl: 'progress-bar-harness-example.html'
9+
})
10+
export class ProgressBarHarnessExample {
11+
value: number;
12+
}
13+

0 commit comments

Comments
 (0)