diff --git a/packages/angular/demo/e2e/group-inputs.e2e-spec.ts b/packages/angular/demo/e2e/group-inputs.e2e-spec.ts index 9c1cb493cb..405dcc833e 100644 --- a/packages/angular/demo/e2e/group-inputs.e2e-spec.ts +++ b/packages/angular/demo/e2e/group-inputs.e2e-spec.ts @@ -13,4 +13,41 @@ describe('Group Inputs Page', () => { page.navigateTo(); expect(page.getTitleText()).toEqual('Ionic Core Group Inputs Demo'); }); + + describe('radio group', () => { + it('should have the proper initial value', () => { + page.navigateTo(); + const el = page.getRaioGroup(); + expect(el.getAttribute('value')).toEqual('tripe'); + }); + + // This test is failing right now, you can also see this in the UI. + it('should check the proper initial radio button', () => { + page.navigateTo(); + const btns = page.getGroupedRadioButtons(); + expect(btns.tripe.getAttribute('checked')).toEqual('true'); + expect(btns.beef.getAttribute('checked')).toEqual(null); + expect(btns.chicken.getAttribute('checked')).toEqual(null); + expect(btns.brains.getAttribute('checked')).toEqual(null); + expect(btns.tongue.getAttribute('checked')).toEqual(null); + }); + + it('should reflect back the changed value', () => { + page.navigateTo(); + const btns = page.getGroupedRadioButtons(); + btns.chicken.click(); + expect(page.getRadioOutputText()).toEqual('chicken'); + }); + + it('should check and uncheck the proper buttons on a changed value', () => { + page.navigateTo(); + const btns = page.getGroupedRadioButtons(); + btns.chicken.click(); + expect(btns.chicken.getAttribute('checked')).toEqual('true'); + expect(btns.beef.getAttribute('checked')).toEqual(null); + expect(btns.tripe.getAttribute('checked')).toEqual(null); + expect(btns.brains.getAttribute('checked')).toEqual(null); + expect(btns.tongue.getAttribute('checked')).toEqual(null); + }); + }); }); diff --git a/packages/angular/demo/e2e/group-inputs.po.ts b/packages/angular/demo/e2e/group-inputs.po.ts index 564c1bf5fe..280e90cdea 100644 --- a/packages/angular/demo/e2e/group-inputs.po.ts +++ b/packages/angular/demo/e2e/group-inputs.po.ts @@ -5,15 +5,35 @@ export class GroupInputsPage { return browser.get('/group-inputs'); } - getIonicCheckbox() { - return element(by.id('ionCheckbox')); - } - - getCheckboxOutput() { - return element(by.id('checkboxOutput')).getText(); - } - getTitleText() { return element(by.css('.title')).getText(); } + + getRaioGroup() { + return element(by.id('radio-group')); + } + + getGroupedRadioButtons() { + return { + beef: element(by.id('ion-grp-beef')), + tongue: element(by.id('ion-grp-tongue')), + brains: element(by.id('ion-grp-brains')), + tripe: element(by.id('ion-grp-tripe')), + chicken: element(by.id('ion-grp-chicken')) + }; + } + + getUngroupedRadioButtons() { + return { + beef: element(by.id('ion-beef')), + tongue: element(by.id('ion-tongue')), + brains: element(by.id('ion-brains')), + tripe: element(by.id('ion-tripe')), + chicken: element(by.id('ion-chicken')) + }; + } + + getRadioOutputText() { + return element(by.id('radioOutput')).getText(); + } } diff --git a/packages/angular/demo/e2e/home.e2e-spec.ts b/packages/angular/demo/e2e/home.e2e-spec.ts index 184d26cf21..e17fba9a45 100644 --- a/packages/angular/demo/e2e/home.e2e-spec.ts +++ b/packages/angular/demo/e2e/home.e2e-spec.ts @@ -9,11 +9,11 @@ describe('Demo Home Page', () => { it('should display title', () => { page.navigateTo(); - expect(page.getTitle()).toEqual('Ionic Core Angular Demo Application'); + expect(page.getTitleText()).toEqual('Ionic Core Angular Demo Application'); }); it('should navigate to home for root', () => { page.navigateToRoot(); - expect(page.getTitle()).toEqual('Ionic Core Angular Demo Application'); + expect(page.getTitleText()).toEqual('Ionic Core Angular Demo Application'); }); }); diff --git a/packages/angular/demo/e2e/home.po.ts b/packages/angular/demo/e2e/home.po.ts index 6e03ebf829..0a572b3e06 100644 --- a/packages/angular/demo/e2e/home.po.ts +++ b/packages/angular/demo/e2e/home.po.ts @@ -9,7 +9,7 @@ export class HomePage { return browser.get('/'); } - getTitle() { + getTitleText() { return element(by.css('.title')).getText(); } } diff --git a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html index 004147961e..58ba058dd1 100644 --- a/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html +++ b/packages/angular/demo/src/app/group-inputs-page/group-inputs-page.component.html @@ -8,6 +8,11 @@