Skip to content

Commit d4243ac

Browse files
committed
test(material/tooltip): combine shared tests
Since we only have one module, we don't need separate shared tests anymore.
1 parent 7da89fd commit d4243ac

File tree

3 files changed

+75
-99
lines changed

3 files changed

+75
-99
lines changed

src/material/tooltip/testing/BUILD.bazel

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,13 @@ filegroup(
2020

2121
ng_test_library(
2222
name = "unit_tests_lib",
23-
srcs = glob(
24-
["**/*.spec.ts"],
25-
exclude = ["shared.spec.ts"],
26-
),
23+
srcs = glob(["**/*.spec.ts"]),
2724
deps = [
28-
":harness_tests_lib",
2925
":testing",
26+
"//src/cdk/testing",
27+
"//src/cdk/testing/testbed",
3028
"//src/material/tooltip",
29+
"@npm//@angular/platform-browser",
3130
],
3231
)
3332

@@ -37,15 +36,3 @@ ng_web_test_suite(
3736
":unit_tests_lib",
3837
],
3938
)
40-
41-
ng_test_library(
42-
name = "harness_tests_lib",
43-
srcs = ["shared.spec.ts"],
44-
deps = [
45-
":testing",
46-
"//src/cdk/testing",
47-
"//src/cdk/testing/testbed",
48-
"//src/material/tooltip",
49-
"@npm//@angular/platform-browser",
50-
],
51-
)

src/material/tooltip/testing/shared.spec.ts

Lines changed: 0 additions & 78 deletions
This file was deleted.
Lines changed: 71 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,74 @@
1+
import {Component} from '@angular/core';
2+
import {ComponentFixture, TestBed} from '@angular/core/testing';
3+
import {HarnessLoader} from '@angular/cdk/testing';
4+
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
15
import {MatTooltipModule} from '@angular/material/tooltip';
2-
import {runHarnessTests} from './shared.spec';
3-
import {MatTooltipHarness} from './index';
6+
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
7+
import {MatTooltipHarness} from './tooltip-harness';
48

5-
describe('MDC-based MatTooltipHarness', () => {
6-
runHarnessTests(MatTooltipModule, MatTooltipHarness);
9+
describe('MatTooltipHarness', () => {
10+
let fixture: ComponentFixture<TooltipHarnessTest>;
11+
let loader: HarnessLoader;
12+
13+
beforeEach(async () => {
14+
await TestBed.configureTestingModule({
15+
imports: [MatTooltipModule, NoopAnimationsModule],
16+
declarations: [TooltipHarnessTest],
17+
}).compileComponents();
18+
19+
fixture = TestBed.createComponent(TooltipHarnessTest);
20+
fixture.detectChanges();
21+
loader = TestbedHarnessEnvironment.loader(fixture);
22+
});
23+
24+
it('should load all tooltip harnesses', async () => {
25+
const tooltips = await loader.getAllHarnesses(MatTooltipHarness);
26+
expect(tooltips.length).toBe(3);
27+
});
28+
29+
it('should be able to show a tooltip', async () => {
30+
const tooltip = await loader.getHarness(MatTooltipHarness.with({selector: '#one'}));
31+
expect(await tooltip.isOpen()).toBe(false);
32+
await tooltip.show();
33+
expect(await tooltip.isOpen()).toBe(true);
34+
});
35+
36+
it('should be able to hide a tooltip', async () => {
37+
const tooltip = await loader.getHarness(MatTooltipHarness.with({selector: '#one'}));
38+
expect(await tooltip.isOpen()).toBe(false);
39+
await tooltip.show();
40+
expect(await tooltip.isOpen()).toBe(true);
41+
await tooltip.hide();
42+
expect(await tooltip.isOpen()).toBe(false);
43+
});
44+
45+
it('should be able to get the text of a tooltip', async () => {
46+
const tooltip = await loader.getHarness(MatTooltipHarness.with({selector: '#one'}));
47+
await tooltip.show();
48+
expect(await tooltip.getTooltipText()).toBe('Tooltip message');
49+
});
50+
51+
it('should return empty when getting the tooltip text while closed', async () => {
52+
const tooltip = await loader.getHarness(MatTooltipHarness.with({selector: '#one'}));
53+
expect(await tooltip.getTooltipText()).toBe('');
54+
});
55+
56+
it('should get disabled state', async () => {
57+
const enabled = await loader.getHarness(MatTooltipHarness.with({selector: '#one'}));
58+
const disabled = await loader.getHarness(MatTooltipHarness.with({selector: '#three'}));
59+
60+
expect(await enabled.isDisabled()).toBe(false);
61+
expect(await disabled.isDisabled()).toBe(true);
62+
});
763
});
64+
65+
@Component({
66+
template: `
67+
<button [matTooltip]='message' id='one'>Trigger 1</button>
68+
<button matTooltip='Static message' id='two'>Trigger 2</button>
69+
<button matTooltip='Disabled Tooltip' [matTooltipDisabled]='true' id='three'>Trigger 3</button>
70+
`,
71+
})
72+
class TooltipHarnessTest {
73+
message = 'Tooltip message';
74+
}

0 commit comments

Comments
 (0)