Skip to content

Commit c87506e

Browse files
crisbetowagnermaciel
authored andcommitted
build: run example harness unit tests and fix errors (#21759)
* Makes it so we're able to run the test harness example tests to make sure they pass. * Fixes several example unit tests that didn't pass. * Reduces the boilerplate in the example tests. Fixes #21758. (cherry picked from commit 6947a39)
1 parent b330290 commit c87506e

File tree

65 files changed

+1214
-516
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1214
-516
lines changed

src/components-examples/material/autocomplete/BUILD.bazel

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
load("//tools:defaults.bzl", "ng_module")
1+
load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite")
22

33
package(default_visibility = ["//visibility:public"])
44

55
ng_module(
66
name = "autocomplete",
7-
srcs = glob(["**/*.ts"]),
7+
srcs = glob(
8+
["**/*.ts"],
9+
exclude = ["**/*.spec.ts"],
10+
),
811
assets = glob([
912
"**/*.html",
1013
"**/*.css",
@@ -34,3 +37,22 @@ filegroup(
3437
"**/*.ts",
3538
]),
3639
)
40+
41+
ng_test_library(
42+
name = "unit_tests_lib",
43+
srcs = glob(["**/*.spec.ts"]),
44+
deps = [
45+
":autocomplete",
46+
"//src/cdk/testing",
47+
"//src/cdk/testing/testbed",
48+
"//src/material/autocomplete",
49+
"//src/material/autocomplete/testing",
50+
"@npm//@angular/platform-browser-dynamic",
51+
],
52+
)
53+
54+
ng_web_test_suite(
55+
name = "unit_tests",
56+
exclude_init_script = True,
57+
deps = [":unit_tests_lib"],
58+
)

src/components-examples/material/autocomplete/autocomplete-harness/autocomplete-harness-example.spec.ts

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,30 @@
1-
import {TestBed, ComponentFixture, waitForAsync, inject} from '@angular/core/testing';
1+
import {TestBed, ComponentFixture} from '@angular/core/testing';
22
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
33
import {MatAutocompleteHarness} from '@angular/material/autocomplete/testing';
44
import {HarnessLoader} from '@angular/cdk/testing';
5-
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6-
from '@angular/platform-browser-dynamic/testing';
5+
import {
6+
BrowserDynamicTestingModule,
7+
platformBrowserDynamicTesting,
8+
} from '@angular/platform-browser-dynamic/testing';
79
import {MatAutocompleteModule} from '@angular/material/autocomplete';
810
import {AutocompleteHarnessExample} from './autocomplete-harness-example';
9-
import {OverlayContainer} from '@angular/cdk/overlay';
1011

1112
describe('AutocompleteHarnessExample', () => {
1213
let fixture: ComponentFixture<AutocompleteHarnessExample>;
1314
let loader: HarnessLoader;
14-
let overlayContainer: OverlayContainer;
1515

1616
beforeAll(() => {
1717
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
1818
});
1919

20-
beforeEach(
21-
waitForAsync(() => {
22-
TestBed.configureTestingModule({
23-
imports: [MatAutocompleteModule],
24-
declarations: [AutocompleteHarnessExample]
25-
}).compileComponents();
26-
}));
27-
28-
beforeEach( () => {
20+
beforeEach(async () => {
21+
await TestBed.configureTestingModule({
22+
imports: [MatAutocompleteModule],
23+
declarations: [AutocompleteHarnessExample]
24+
}).compileComponents();
2925
fixture = TestBed.createComponent(AutocompleteHarnessExample);
3026
fixture.detectChanges();
3127
loader = TestbedHarnessEnvironment.loader(fixture);
32-
inject([OverlayContainer], (oc: OverlayContainer) => {
33-
overlayContainer = oc;
34-
})();
35-
});
36-
37-
afterEach(() => {
38-
// Angular won't call this for us so we need to do it ourselves to avoid leaks.
39-
overlayContainer.ngOnDestroy();
40-
overlayContainer = null!;
4128
});
4229

4330
it('should load all autocomplete harnesses', async () => {

src/components-examples/material/badge/BUILD.bazel

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
load("//tools:defaults.bzl", "ng_module")
1+
load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite")
22

33
package(default_visibility = ["//visibility:public"])
44

55
ng_module(
66
name = "badge",
7-
srcs = glob(["**/*.ts"]),
7+
srcs = glob(
8+
["**/*.ts"],
9+
exclude = ["**/*.spec.ts"],
10+
),
811
assets = glob([
912
"**/*.html",
1013
"**/*.css",
@@ -31,3 +34,22 @@ filegroup(
3134
"**/*.ts",
3235
]),
3336
)
37+
38+
ng_test_library(
39+
name = "unit_tests_lib",
40+
srcs = glob(["**/*.spec.ts"]),
41+
deps = [
42+
":badge",
43+
"//src/cdk/testing",
44+
"//src/cdk/testing/testbed",
45+
"//src/material/badge",
46+
"//src/material/badge/testing",
47+
"@npm//@angular/platform-browser-dynamic",
48+
],
49+
)
50+
51+
ng_web_test_suite(
52+
name = "unit_tests",
53+
exclude_init_script = True,
54+
deps = [":unit_tests_lib"],
55+
)

src/components-examples/material/badge/badge-harness/badge-harness-example.spec.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import {TestBed, ComponentFixture, waitForAsync} from '@angular/core/testing';
1+
import {TestBed, ComponentFixture} from '@angular/core/testing';
22
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
33
import {MatBadgeHarness} from '@angular/material/badge/testing';
44
import {HarnessLoader} from '@angular/cdk/testing';
5-
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6-
from '@angular/platform-browser-dynamic/testing';
5+
import {
6+
BrowserDynamicTestingModule,
7+
platformBrowserDynamicTesting,
8+
} from '@angular/platform-browser-dynamic/testing';
79
import {MatBadgeModule} from '@angular/material/badge';
810
import {BadgeHarnessExample} from './badge-harness-example';
911

@@ -15,17 +17,15 @@ describe('BadgeHarnessExample', () => {
1517
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
1618
});
1719

18-
beforeEach(
19-
waitForAsync(() => {
20-
TestBed.configureTestingModule({
21-
imports: [MatBadgeModule],
22-
declarations: [BadgeHarnessExample]
23-
}).compileComponents();
24-
fixture = TestBed.createComponent(BadgeHarnessExample);
25-
fixture.detectChanges();
26-
loader = TestbedHarnessEnvironment.loader(fixture);
27-
})
28-
);
20+
beforeEach(async () => {
21+
await TestBed.configureTestingModule({
22+
imports: [MatBadgeModule],
23+
declarations: [BadgeHarnessExample]
24+
}).compileComponents();
25+
fixture = TestBed.createComponent(BadgeHarnessExample);
26+
fixture.detectChanges();
27+
loader = TestbedHarnessEnvironment.loader(fixture);
28+
});
2929

3030
it('should load all badge harnesses', async () => {
3131
const badges = await loader.getAllHarnesses(MatBadgeHarness);

src/components-examples/material/bottom-sheet/BUILD.bazel

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
load("//tools:defaults.bzl", "ng_module")
1+
load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite")
22

33
package(default_visibility = ["//visibility:public"])
44

55
ng_module(
66
name = "bottom-sheet",
7-
srcs = glob(["**/*.ts"]),
7+
srcs = glob(
8+
["**/*.ts"],
9+
exclude = ["**/*.spec.ts"],
10+
),
811
assets = glob([
912
"**/*.html",
1013
"**/*.css",
@@ -32,3 +35,23 @@ filegroup(
3235
"**/*.ts",
3336
]),
3437
)
38+
39+
ng_test_library(
40+
name = "unit_tests_lib",
41+
srcs = glob(["**/*.spec.ts"]),
42+
deps = [
43+
":bottom-sheet",
44+
"//src/cdk/testing",
45+
"//src/cdk/testing/testbed",
46+
"//src/material/bottom-sheet",
47+
"//src/material/bottom-sheet/testing",
48+
"@npm//@angular/platform-browser",
49+
"@npm//@angular/platform-browser-dynamic",
50+
],
51+
)
52+
53+
ng_web_test_suite(
54+
name = "unit_tests",
55+
exclude_init_script = True,
56+
deps = [":unit_tests_lib"],
57+
)

src/components-examples/material/bottom-sheet/bottom-sheet-harness/bottom-sheet-harness-example.spec.ts

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import {TestBed, ComponentFixture, waitForAsync, inject} from '@angular/core/testing';
1+
import {TestBed, ComponentFixture} from '@angular/core/testing';
22
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
33
import {MatBottomSheetHarness} from '@angular/material/bottom-sheet/testing';
44
import {HarnessLoader} from '@angular/cdk/testing';
5-
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6-
from '@angular/platform-browser-dynamic/testing';
5+
import {
6+
BrowserDynamicTestingModule,
7+
platformBrowserDynamicTesting,
8+
} from '@angular/platform-browser-dynamic/testing';
79
import {MatBottomSheetModule} from '@angular/material/bottom-sheet';
810
import {BottomSheetHarnessExample} from './bottom-sheet-harness-example';
9-
import {OverlayContainer} from '@angular/cdk/overlay';
1011
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
1112

1213
describe('BottomSheetHarnessExample', () => {
@@ -17,19 +18,14 @@ describe('BottomSheetHarnessExample', () => {
1718
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
1819
});
1920

20-
beforeEach(
21-
waitForAsync(() => {
22-
TestBed.configureTestingModule({
23-
imports: [MatBottomSheetModule, NoopAnimationsModule],
24-
declarations: [BottomSheetHarnessExample]
25-
}).compileComponents();
26-
}));
27-
28-
beforeEach(() => {
21+
beforeEach(async () => {
22+
await TestBed.configureTestingModule({
23+
imports: [MatBottomSheetModule, NoopAnimationsModule],
24+
declarations: [BottomSheetHarnessExample]
25+
}).compileComponents();
2926
fixture = TestBed.createComponent(BottomSheetHarnessExample);
3027
fixture.detectChanges();
3128
loader = TestbedHarnessEnvironment.documentRootLoader(fixture);
32-
inject([OverlayContainer], () => {})();
3329
});
3430

3531
it('should load harness for a bottom sheet', async () => {

src/components-examples/material/button-toggle/BUILD.bazel

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
load("//tools:defaults.bzl", "ng_module")
1+
load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite")
22

33
package(default_visibility = ["//visibility:public"])
44

55
ng_module(
66
name = "button-toggle",
7-
srcs = glob(["**/*.ts"]),
7+
srcs = glob(
8+
["**/*.ts"],
9+
exclude = ["**/*.spec.ts"],
10+
),
811
assets = glob([
912
"**/*.html",
1013
"**/*.css",
@@ -30,3 +33,22 @@ filegroup(
3033
"**/*.ts",
3134
]),
3235
)
36+
37+
ng_test_library(
38+
name = "unit_tests_lib",
39+
srcs = glob(["**/*.spec.ts"]),
40+
deps = [
41+
":button-toggle",
42+
"//src/cdk/testing",
43+
"//src/cdk/testing/testbed",
44+
"//src/material/button-toggle",
45+
"//src/material/button-toggle/testing",
46+
"@npm//@angular/platform-browser-dynamic",
47+
],
48+
)
49+
50+
ng_web_test_suite(
51+
name = "unit_tests",
52+
exclude_init_script = True,
53+
deps = [":unit_tests_lib"],
54+
)

src/components-examples/material/button-toggle/button-toggle-harness/button-toggle-harness-example.spec.ts

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import {TestBed, ComponentFixture, waitForAsync} from '@angular/core/testing';
1+
import {TestBed, ComponentFixture} from '@angular/core/testing';
22
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
33
import {MatButtonToggleGroupHarness} from '@angular/material/button-toggle/testing';
44
import {HarnessLoader} from '@angular/cdk/testing';
5-
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6-
from '@angular/platform-browser-dynamic/testing';
5+
import {
6+
BrowserDynamicTestingModule,
7+
platformBrowserDynamicTesting,
8+
} from '@angular/platform-browser-dynamic/testing';
79
import {MatButtonToggleModule} from '@angular/material/button-toggle';
810
import {ButtonToggleHarnessExample} from './button-toggle-harness-example';
911

@@ -15,15 +17,11 @@ describe('ButtonToggleHarnessExample', () => {
1517
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
1618
});
1719

18-
beforeEach(
19-
waitForAsync(() => {
20-
TestBed.configureTestingModule({
21-
imports: [MatButtonToggleModule],
22-
declarations: [ButtonToggleHarnessExample]
23-
}).compileComponents();
24-
}));
25-
26-
beforeEach(() => {
20+
beforeEach(async () => {
21+
await TestBed.configureTestingModule({
22+
imports: [MatButtonToggleModule],
23+
declarations: [ButtonToggleHarnessExample]
24+
}).compileComponents();
2725
fixture = TestBed.createComponent(ButtonToggleHarnessExample);
2826
fixture.detectChanges();
2927
loader = TestbedHarnessEnvironment.loader(fixture);

src/components-examples/material/button/BUILD.bazel

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
load("//tools:defaults.bzl", "ng_module")
1+
load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite")
22

33
package(default_visibility = ["//visibility:public"])
44

55
ng_module(
66
name = "button",
7-
srcs = glob(["**/*.ts"]),
7+
srcs = glob(
8+
["**/*.ts"],
9+
exclude = ["**/*.spec.ts"],
10+
),
811
assets = glob([
912
"**/*.html",
1013
"**/*.css",
@@ -31,3 +34,22 @@ filegroup(
3134
"**/*.ts",
3235
]),
3336
)
37+
38+
ng_test_library(
39+
name = "unit_tests_lib",
40+
srcs = glob(["**/*.spec.ts"]),
41+
deps = [
42+
":button",
43+
"//src/cdk/testing",
44+
"//src/cdk/testing/testbed",
45+
"//src/material/button",
46+
"//src/material/button/testing",
47+
"@npm//@angular/platform-browser-dynamic",
48+
],
49+
)
50+
51+
ng_web_test_suite(
52+
name = "unit_tests",
53+
exclude_init_script = True,
54+
deps = [":unit_tests_lib"],
55+
)

0 commit comments

Comments
 (0)