import { $, $$, browser } from 'protractor'; import { leftPanelTests } from './leftPanelTests.po'; import { DataProvider } from '../data-provider/data-provider.po'; let using = require('jasmine-data-provider'); const buttonAddAlert = $('alert-demo .btn'); const alertWarning = $('[ng-reflect-ng-class="alert-warning"]'); const getAlertCount = $$('alert > div'); const getCloseButton = (tabNumber:number) => { return 'alert-demo alert:nth-child(' + tabNumber + ') .close'; }; describe('Alerts page test on bootstrap 3', () => { beforeAll(() => { browser.get('#/alerts'); browser.ignoreSynchronization = true; }); afterAll(() => { leftPanelTests.checkLeftPanelMini(); leftPanelTests.checkLeftPanelMaxi(); }); it('Default warnings count', () => { expect(getAlertCount.count()).toBe(3); }); it('Adding warnings', () => { buttonAddAlert.click(); buttonAddAlert.click(); expect(getAlertCount.count()).toBe(5); }); using (DataProvider.alertTableContains, (data:any, description:string) => { it ('Check tab texts: ' + description, () => { expect(data.element().getText()).toContain(data.actualResult); }); }); it('Warning alert is disappear', () => { browser.sleep(3000); expect(alertWarning.isPresent()).toBe(false); }); it('User can delete danger and success alerts', () => { $(getCloseButton(3)).click(); $(getCloseButton(2)).click(); $(getCloseButton(1)).click(); expect(getAlertCount.count()).toBe(1); }); it('User can delete added alerts', () => { buttonAddAlert.click(); $(getCloseButton(1)).click(); expect(getAlertCount.count()).toBe(1); }); });