* chore(test): add protractor4 * fix lint, remove boilerplate files, fix less gen * separate scripts between package.json * ignore a2docs.css in boilerplate * remove tslint in _examples
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { browser, element, by } from 'protractor';
 | |
| import { appLang, describeIf } from '../protractor-helpers';
 | |
| 
 | |
| describeIf(appLang.appIsTs || appLang.appIsJs, 'Forms Tests', function () {
 | |
| 
 | |
|   beforeEach(function () {
 | |
|     browser.get('');
 | |
|   });
 | |
| 
 | |
|   it('should display correct title', function () {
 | |
|     expect(element.all(by.css('h1')).get(0).getText()).toEqual('Hero Form');
 | |
|   });
 | |
| 
 | |
| 
 | |
|   it('should not display message before submit', function () {
 | |
|     let ele = element(by.css('h2'));
 | |
|     expect(ele.isDisplayed()).toBe(false);
 | |
|   });
 | |
| 
 | |
|   it('should hide form after submit', function () {
 | |
|     let ele = element.all(by.css('h1')).get(0);
 | |
|     expect(ele.isDisplayed()).toBe(true);
 | |
|     let b = element.all(by.css('button[type=submit]')).get(0);
 | |
|     b.click().then(function() {
 | |
|       expect(ele.isDisplayed()).toBe(false);
 | |
|     });
 | |
|   });
 | |
| 
 | |
|   it('should display message after submit', function () {
 | |
|     let b = element.all(by.css('button[type=submit]')).get(0);
 | |
|     b.click().then(function() {
 | |
|       expect(element(by.css('h2')).getText()).toContain('You submitted the following');
 | |
|     });
 | |
|   });
 | |
| 
 | |
|   it('should hide form after submit', function () {
 | |
|     let alterEgoEle = element.all(by.css('input[name=alterEgo]')).get(0);
 | |
|     expect(alterEgoEle.isDisplayed()).toBe(true);
 | |
|     let submitButtonEle = element.all(by.css('button[type=submit]')).get(0);
 | |
|     submitButtonEle.click().then(function() {
 | |
|       expect(alterEgoEle.isDisplayed()).toBe(false);
 | |
|     });
 | |
|   });
 | |
| 
 | |
|   it('should reflect submitted data after submit', function () {
 | |
|     let test = 'testing 1 2 3';
 | |
|     let newValue: string;
 | |
|     let alterEgoEle = element.all(by.css('input[name=alterEgo]')).get(0);
 | |
|     alterEgoEle.getAttribute('value').then(function(value: string) {
 | |
|       alterEgoEle.sendKeys(test);
 | |
|       newValue = value + test;
 | |
|       expect(alterEgoEle.getAttribute('value')).toEqual(newValue);
 | |
|       let b = element.all(by.css('button[type=submit]')).get(0);
 | |
|       return b.click();
 | |
|     }).then(function() {
 | |
|       let alterEgoTextEle = element(by.cssContainingText('div', 'Alter Ego'));
 | |
|       expect(alterEgoTextEle.isPresent()).toBe(true, 'cannot locate "Alter Ego" label');
 | |
|       let divEle = element(by.cssContainingText('div', newValue));
 | |
|       expect(divEle.isPresent()).toBe(true, 'cannot locate div with this text: ' + newValue);
 | |
|     });
 | |
|   });
 | |
| });
 | |
| 
 |