ng2-bootstrap-base-modified
Version:
Native Angular Bootstrap Components Typeahead modified
78 lines (73 loc) • 3.06 kB
text/typescript
import { $, $$, browser, ExpectedConditions } from 'protractor';
import { leftPanelTests } from './leftPanelTests.po';
import { DataProvider } from '../data-provider/data-provider.po';
let using = require('jasmine-data-provider');
const buttonToggleLastPanel = $('accordion-demo>p button:nth-child(1)');
const buttonEnableDisablePanel = $('accordion-demo>p button:nth-child(2)');
const buttonAddItem = $('.panel-body .btn');
const checkboxOnlyOne = $('.checkbox .ng-valid');
const getItemsCount = $$('accordion-group:nth-child(4) .panel-body > div');
const buttonArrow = $('.pull-right');
const EC = ExpectedConditions;
const getTabHeader = (tabNumber:number) => {
return $('accordion-group:nth-child(' + tabNumber + ') .panel-heading');
};
const getTabContent = (tabNumber:number) => {
return $('accordion-group:nth-child(' + tabNumber + ') .panel-body');
};
describe('Check the Accordion page in bootstrap 3', () => {
beforeAll(() => {
browser.get('#/accordion');
leftPanelTests.checkLeftPanelMini();
leftPanelTests.checkLeftPanelMaxi();
});
it('Close/open first tab by click', () => {
getTabHeader(1).click();
expect(getTabContent(1).isDisplayed()).toBe(false);
getTabHeader(1).click();
expect(getTabContent(1).isDisplayed()).toBe(true);
});
it('Open/close last tab with button Toggle Last Panel', () => {
buttonToggleLastPanel.click();
expect(getTabContent(5).isDisplayed()).toBe(true);
expect(buttonArrow.getAttribute('class')).toContain('glyphicon-chevron-down');
buttonToggleLastPanel.click();
expect(getTabContent(5).isDisplayed()).toBe(false);
expect(buttonArrow.getAttribute('class')).toContain('glyphicon-chevron-right');
});
it('Button Enable/Disable first panel is ON', () => {
buttonEnableDisablePanel.click();
getTabHeader(1).click();
expect(getTabContent(1).isDisplayed()).toBe(false);
});
it('Button Enable/Disable first panel is OFF', () => {
buttonEnableDisablePanel.click();
getTabHeader(1).click();
expect(getTabHeader(1).isDisplayed()).toBe(true);
});
it('Add items in 4th tab', () => {
getTabHeader(4).click();
expect(getItemsCount.count()).toBe(3);
buttonAddItem.click();
buttonAddItem.click();
expect(getItemsCount.count()).toBe(5);
getTabHeader(4).click();
});
it('Open all tabs together', () => {
checkboxOnlyOne.click();
getTabHeader(1).click();
browser.wait(EC.visibilityOf(getTabContent(1)), 500);
getTabHeader(2).click();
browser.wait(EC.visibilityOf(getTabContent(2)), 500);
getTabHeader(3).click();
browser.wait(EC.visibilityOf(getTabContent(3)), 500);
getTabHeader(4).click();
browser.wait(EC.visibilityOf(getTabContent(4)), 500);
getTabHeader(5).click();
});
using (DataProvider.accordionTableContent, (data:any, description:string) => {
it ('Check table texts: ' + description, () => {
expect(data.element().getText()).toBe(data.actualResult);
});
});
});