diff --git a/src/e2e-app/mdc-radio/mdc-radio-e2e.html b/src/e2e-app/mdc-radio/mdc-radio-e2e.html index b95064bc6d97..87d60fc97175 100644 --- a/src/e2e-app/mdc-radio/mdc-radio-e2e.html +++ b/src/e2e-app/mdc-radio/mdc-radio-e2e.html @@ -1 +1,12 @@ - +
+ + + Charmander + Squirtle + Bulbasaur + + + +
diff --git a/src/e2e-app/mdc-radio/mdc-radio-e2e.ts b/src/e2e-app/mdc-radio/mdc-radio-e2e.ts index 6a1b3623395c..59da7f22436a 100644 --- a/src/e2e-app/mdc-radio/mdc-radio-e2e.ts +++ b/src/e2e-app/mdc-radio/mdc-radio-e2e.ts @@ -13,5 +13,6 @@ import {Component} from '@angular/core'; templateUrl: 'mdc-radio-e2e.html', }) export class MdcRadioE2e { - // TODO: copy implementation from existing mat-radio e2e page. + isGroupDisabled: boolean = false; + groupValue: string; } diff --git a/src/material-experimental/mdc-radio/BUILD.bazel b/src/material-experimental/mdc-radio/BUILD.bazel index affa777554ff..d7cf6d446be9 100644 --- a/src/material-experimental/mdc-radio/BUILD.bazel +++ b/src/material-experimental/mdc-radio/BUILD.bazel @@ -1,5 +1,7 @@ +load("//src/e2e-app:test_suite.bzl", "e2e_test_suite") load( "//tools:defaults.bzl", + "ng_e2e_test_library", "ng_module", "ng_test_library", "ng_web_test_suite", @@ -80,3 +82,19 @@ ng_web_test_suite( "//src/material-experimental:mdc_require_config.js", ], ) + +ng_e2e_test_library( + name = "e2e_test_sources", + srcs = glob(["**/*.e2e.spec.ts"]), + deps = [ + "//src/cdk/testing/private/e2e", + ], +) + +e2e_test_suite( + name = "e2e_tests", + deps = [ + ":e2e_test_sources", + "//src/cdk/testing/private/e2e", + ], +) diff --git a/src/material-experimental/mdc-radio/radio.e2e.spec.ts b/src/material-experimental/mdc-radio/radio.e2e.spec.ts index 4882d270483e..28547d644a4f 100644 --- a/src/material-experimental/mdc-radio/radio.e2e.spec.ts +++ b/src/material-experimental/mdc-radio/radio.e2e.spec.ts @@ -1 +1,23 @@ -// TODO: copy tests from existing mat-radio, update as necessary to fix. +import {browser, by, element} from 'protractor'; + + +describe('radio', () => { + describe('disabling behavior', () => { + beforeEach(async () => await browser.get('/mdc-radio')); + + it('should be checked when clicked', async () => { + await element(by.id('water')).click(); + expect(await element(by.css('input:checked')).getAttribute('value')).toBe('water'); + + await element(by.id('leaf')).click(); + expect(await element(by.css('input:checked')).getAttribute('value')).toBe('leaf'); + }); + + it('should be disabled when disable the radio group', async () => { + await element(by.id('toggle-disable')).click(); + await element(by.id('water')).click(); + + expect(await element(by.css('input[id=water-input]')).getAttribute('disabled')).toBe('true'); + }); + }); +});