Skip to content

Commit 4f324db

Browse files
committed
fix(cdk/testing): Make harnesses click on relative coord 1,1 - not 0,0
1 parent 58b8d30 commit 4f324db

File tree

4 files changed

+43
-4
lines changed

4 files changed

+43
-4
lines changed

src/cdk/testing/protractor/protractor-element.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export class ProtractorElement implements TestElement {
7373
return this.element.clear();
7474
}
7575

76-
async click(relativeX = 0, relativeY = 0): Promise<void> {
76+
async click(relativeX = 1, relativeY = 1): Promise<void> {
7777
await browser.actions()
7878
.mouseMove(await this.element.getWebElement(), {x: relativeX, y: relativeY})
7979
.click()

src/cdk/testing/testbed/unit-test-element.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export class UnitTestElement implements TestElement {
7171
await this._stabilize();
7272
}
7373

74-
async click(relativeX = 0, relativeY = 0): Promise<void> {
74+
async click(relativeX = 1, relativeY = 1): Promise<void> {
7575
await this._stabilize();
7676
const {left, top} = this.element.getBoundingClientRect();
7777
// Round the computed click position as decimal pixels are not

src/material/button/testing/BUILD.bazel

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
load("//tools:defaults.bzl", "ng_test_library", "ng_web_test_suite", "ts_library")
1+
load("//src/e2e-app:test_suite.bzl", "e2e_test_suite")
2+
load("//tools:defaults.bzl", "ng_e2e_test_library", "ng_test_library", "ng_web_test_suite", "ts_library")
23

34
package(default_visibility = ["//visibility:public"])
45

@@ -38,7 +39,10 @@ ng_test_library(
3839
name = "unit_tests_lib",
3940
srcs = glob(
4041
["**/*.spec.ts"],
41-
exclude = ["shared.spec.ts"],
42+
exclude = [
43+
"**/*.e2e.spec.ts",
44+
"shared.spec.ts",
45+
],
4246
),
4347
deps = [
4448
":harness_tests_lib",
@@ -51,3 +55,21 @@ ng_web_test_suite(
5155
name = "unit_tests",
5256
deps = [":unit_tests_lib"],
5357
)
58+
59+
ng_e2e_test_library(
60+
name = "e2e_test_sources",
61+
srcs = glob(["**/*.e2e.spec.ts"]),
62+
deps = [
63+
"//src/cdk/testing/private/e2e",
64+
"//src/cdk/testing/protractor",
65+
"//src/material/button/testing",
66+
],
67+
)
68+
69+
e2e_test_suite(
70+
name = "e2e_tests",
71+
deps = [
72+
":e2e_test_sources",
73+
"//src/cdk/testing/private/e2e",
74+
],
75+
)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import {ProtractorHarnessEnvironment} from '@angular/cdk/testing/protractor';
2+
import {MatButtonHarness} from '@angular/material/button/testing/button-harness';
3+
import {browser} from 'protractor';
4+
5+
describe('button harness', () => {
6+
beforeEach(async () => await browser.get('/button'));
7+
8+
it('can click button', async () => {
9+
const loader = ProtractorHarnessEnvironment.loader();
10+
const disableToggle = await loader.getHarness(MatButtonHarness.with({text: 'Disable buttons'}));
11+
const testButton = await loader.getHarness(MatButtonHarness.with({selector: '#test-button'}));
12+
13+
expect(await testButton.isDisabled()).toBe(false);
14+
await disableToggle.click();
15+
expect(await testButton.isDisabled()).toBe(true);
16+
});
17+
});

0 commit comments

Comments
 (0)