Skip to content

Commit 4f66fbb

Browse files
andrewseguinmmalerba
authored andcommitted
test(material-experimental/mdc-radio): add e2e tests (#19932)
* test(material-experimental/mdc-radio): add e2e tests * lint
1 parent 647f479 commit 4f66fbb

File tree

4 files changed

+55
-3
lines changed

4 files changed

+55
-3
lines changed
Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,12 @@
1-
<!-- TODO: copy implementation from existing mat-radio e2e page. -->
1+
<section>
2+
<mat-radio-group [disabled]="isGroupDisabled"
3+
[value]="groupValue"
4+
id="test-group" aria-label="Select a Pokemon">
5+
6+
<mat-radio-button value="fire" id="fire">Charmander</mat-radio-button>
7+
<mat-radio-button value="water" id="water">Squirtle</mat-radio-button>
8+
<mat-radio-button value="leaf" id="leaf">Bulbasaur</mat-radio-button>
9+
10+
</mat-radio-group>
11+
<button (click)="isGroupDisabled=!isGroupDisabled" id="toggle-disable">Disable/enable group</button>
12+
</section>

src/e2e-app/mdc-radio/mdc-radio-e2e.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ import {Component} from '@angular/core';
1313
templateUrl: 'mdc-radio-e2e.html',
1414
})
1515
export class MdcRadioE2e {
16-
// TODO: copy implementation from existing mat-radio e2e page.
16+
isGroupDisabled: boolean = false;
17+
groupValue: string;
1718
}

src/material-experimental/mdc-radio/BUILD.bazel

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
load("//src/e2e-app:test_suite.bzl", "e2e_test_suite")
12
load(
23
"//tools:defaults.bzl",
4+
"ng_e2e_test_library",
35
"ng_module",
46
"ng_test_library",
57
"ng_web_test_suite",
@@ -80,3 +82,19 @@ ng_web_test_suite(
8082
"//src/material-experimental:mdc_require_config.js",
8183
],
8284
)
85+
86+
ng_e2e_test_library(
87+
name = "e2e_test_sources",
88+
srcs = glob(["**/*.e2e.spec.ts"]),
89+
deps = [
90+
"//src/cdk/testing/private/e2e",
91+
],
92+
)
93+
94+
e2e_test_suite(
95+
name = "e2e_tests",
96+
deps = [
97+
":e2e_test_sources",
98+
"//src/cdk/testing/private/e2e",
99+
],
100+
)
Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,23 @@
1-
// TODO: copy tests from existing mat-radio, update as necessary to fix.
1+
import {browser, by, element} from 'protractor';
2+
3+
4+
describe('radio', () => {
5+
describe('disabling behavior', () => {
6+
beforeEach(async () => await browser.get('/mdc-radio'));
7+
8+
it('should be checked when clicked', async () => {
9+
await element(by.id('water')).click();
10+
expect(await element(by.css('input:checked')).getAttribute('value')).toBe('water');
11+
12+
await element(by.id('leaf')).click();
13+
expect(await element(by.css('input:checked')).getAttribute('value')).toBe('leaf');
14+
});
15+
16+
it('should be disabled when disable the radio group', async () => {
17+
await element(by.id('toggle-disable')).click();
18+
await element(by.id('water')).click();
19+
20+
expect(await element(by.css('input[id=water-input]')).getAttribute('disabled')).toBe('true');
21+
});
22+
});
23+
});

0 commit comments

Comments
 (0)