From b7ec525b627dd1dde619995adc4d4837f6ba296d Mon Sep 17 00:00:00 2001 From: Geeta Mandakini Ayyalasomayajula <45559635+gmandakini@users.noreply.github.com> Date: Tue, 22 Oct 2019 15:38:55 +0100 Subject: [PATCH] Added isChecked method to verify the status of checkbox widget (#5173) * added method to assert on checkbox widget, isChecked * removed unnecessary method * added method in checkboxWidget * moved the method to checkbox widget --- .../lib/core/pages/form/widgets/checkboxWidget.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/testing/src/lib/core/pages/form/widgets/checkboxWidget.ts b/lib/testing/src/lib/core/pages/form/widgets/checkboxWidget.ts index edefbecebe..a3901ff601 100644 --- a/lib/testing/src/lib/core/pages/form/widgets/checkboxWidget.ts +++ b/lib/testing/src/lib/core/pages/form/widgets/checkboxWidget.ts @@ -16,14 +16,15 @@ */ import { FormFields } from '../formFields'; -import { BrowserActions } from '../../../utils/public-api'; -import { by, element } from 'protractor'; +import { BrowserActions, BrowserVisibility } from '../../../utils/public-api'; +import { by, element, Locator } from 'protractor'; import { ElementFinder } from 'protractor'; export class CheckboxWidget { formFields: FormFields = new FormFields(); checkboxLabel: ElementFinder = element(by.css('span[class*="mat-checkbox-label"]')); + checkboxLocator: Locator = by.css('mat-checkbox'); getCheckboxLabel(): Promise { return BrowserActions.getText(this.checkboxLabel); @@ -41,4 +42,14 @@ export class CheckboxWidget { async isCheckboxHidden(fieldId): Promise { await this.formFields.checkWidgetIsHidden(fieldId); } + + async isCheckboxChecked(fieldId): Promise { + let isChecked: boolean = false; + const checkboxWidget: ElementFinder = await (await this.formFields.getWidget(fieldId)).element(this.checkboxLocator); + await BrowserVisibility.waitUntilElementIsVisible(checkboxWidget); + await checkboxWidget.getAttribute('class').then((attributeValue) => { + isChecked = attributeValue.includes('mat-checkbox-checked'); + }); + return isChecked; + } }