72 lines
2.7 KiB
TypeScript
72 lines
2.7 KiB
TypeScript
'use strict'; // necessary for es6 output in node
|
|
|
|
import { browser, element, by, protractor } from 'protractor';
|
|
|
|
describe('Event binding example', function () {
|
|
|
|
beforeEach(function () {
|
|
browser.get('');
|
|
});
|
|
|
|
let saveButton = element.all(by.css('button')).get(0);
|
|
let onSaveButton = element.all(by.css('button')).get(1);
|
|
let myClick = element.all(by.css('button')).get(2);
|
|
let deleteButton = element.all(by.css('button')).get(3);
|
|
let saveNoProp = element.all(by.css('button')).get(4);
|
|
let saveProp = element.all(by.css('button')).get(5);
|
|
|
|
|
|
it('should display Event Binding with Angular', function () {
|
|
expect(element(by.css('h1')).getText()).toEqual('Event Binding');
|
|
});
|
|
|
|
it('should display 6 buttons', function() {
|
|
expect(saveButton.getText()).toBe('Save');
|
|
expect(onSaveButton.getText()).toBe('on-click Save');
|
|
expect(myClick.getText()).toBe('click with myClick');
|
|
expect(deleteButton.getText()).toBe('Delete');
|
|
expect(saveNoProp.getText()).toBe('Save, no propagation');
|
|
expect(saveProp.getText()).toBe('Save with propagation');
|
|
});
|
|
|
|
it('should support user input', function () {
|
|
let input = element(by.css('input'));
|
|
let bindingResult = element.all(by.css('h4')).get(1);
|
|
expect(bindingResult.getText()).toEqual('Result: teapot');
|
|
input.sendKeys('abc');
|
|
expect(bindingResult.getText()).toEqual('Result: teapotabc');
|
|
});
|
|
|
|
it('should hide the item img', async () => {
|
|
let deleteButton = element.all(by.css('button')).get(3);
|
|
await deleteButton.click();
|
|
browser.switchTo().alert().accept();
|
|
expect(element.all(by.css('img')).get(0).getCssValue('display')).toEqual('none');
|
|
});
|
|
|
|
it('should show two alerts', async () => {
|
|
let parentDiv = element.all(by.css('.parent-div'));
|
|
let childDiv = element.all(by.css('div > div')).get(1);
|
|
await parentDiv.click();
|
|
browser.switchTo().alert().accept();
|
|
expect(childDiv.getText()).toEqual('Click me too! (child)');
|
|
await childDiv.click();
|
|
expect(browser.switchTo().alert().getText()).toEqual('Click me. Event target class is child-div');
|
|
browser.switchTo().alert().accept();
|
|
});
|
|
|
|
it('should show 1 alert from Save, no prop, button', async () => {
|
|
await saveNoProp.click();
|
|
expect(browser.switchTo().alert().getText()).toEqual('Saved. Event target is Save, no propagation');
|
|
browser.switchTo().alert().accept();
|
|
});
|
|
|
|
it('should show 2 alerts from Save w/prop button', async () => {
|
|
await saveProp.click();
|
|
expect(browser.switchTo().alert().getText()).toEqual('Saved.');
|
|
browser.switchTo().alert().accept();
|
|
expect(browser.switchTo().alert().getText()).toEqual('Saved.');
|
|
browser.switchTo().alert().accept();
|
|
});
|
|
});
|