lemonldap-ng/e2e-tests/manager/05-form.js
2019-01-15 21:32:49 +01:00

96 lines
3.7 KiB
JavaScript

'use strict';
/* http://docs.angularjs.org/guide/dev_guide.e2e-testing */
describe('05 Lemonldap::NG Manager', function() {
describe('Form control', function() {
it('should display text form', function() {
browser.get('/#/confs/1');
element(by.id('a-generalParameters')).click();
element(by.id('a-portalParams')).click();
element(by.id('t-portal')).click();
expect(element.all(by.id('textinput')).count()).toEqual(1);
});
it('should modify tree when input is modified', function() {
element(by.id('a-virtualHosts')).click();
element(by.id('a-virtualHosts/test1.example.com')).click();
element(by.id('a-virtualHosts/test1.example.com/exportedHeaders')).click();
var hdr = element(by.id('t-virtualHosts/test1.example.com/exportedHeaders/1'));
hdr.click();
var i = element.all(by.id('hashkeyinput'));
expect(i.count()).toEqual(1);
element(by.id('hashkeyinput')).clear().sendKeys('Hello');
expect(hdr.getText()).toEqual('Hello');
});
it('should be able to add keys in hash', function() {
browser.get('/#/confs/1');
var els = element.all(by.css('[ng-click="getLanguage(lang)"]'));
/* English version */
els.each(function(el) {
el.isDisplayed().then(function(isVisible) {
if (isVisible) {
el.getAttribute('src').then(function(lang) {
lang = lang.replace(/^.*\/(\w+)\.png$/, '$1');
if (lang == 'en') el.click();
});
}
});
});
/* Variables */
var id = 1;
element(by.id('a-variables')).click();
['exportedVars', 'macros', 'groups'].forEach(function(type) {
element(by.id('a-' + type)).click();
element(by.id('t-' + type)).click();
element.all(by.css('.glyphicon-plus-sign')).first().click();
expect(element(by.id('t-' + type + '/n' + id)).getText()).toEqual('new');
browser.sleep(3000);
id++;
});
/* Virtual hosts */
element(by.id('a-virtualHosts')).click();
element(by.id('a-virtualHosts/test1.example.com')).click();
element(by.id('a-virtualHosts/test1.example.com/locationRules')).click();
element(by.id('a-virtualHosts/test1.example.com/exportedHeaders')).click();
element(by.id('a-virtualHosts/test1.example.com/post')).click();
for (var i = 0; i++; i < 3) {
/* Rules */
element(by.id('t-virtualHosts/test1.example.com/locationRules')).click();
element.all(by.css('[ng-click="menuClick(button)"]')).each(function(el) {
el.getText().then(function(text) {
if (text == 'New rule') {
el.click();
}
});
});
expect(element(by.id('t-virtualHosts/test1.example.com/locationRules/n' + id)).getText()).toEqual('New rule');
id++;
/* Headers */
element(by.id('t-virtualHosts/test1.example.com/exportedHeaders')).click();
element.all(by.css('[ng-click="menuClick(button)"]')).each(function(el) {
el.getText().then(function(text) {
if (text == 'New entry') {
el.click();
}
});
});
expect(element(by.id('t-virtualHosts/test1.example.com/exportedHeaders/n' + id)).getText()).toEqual('new');
id++;
/* Form replay */
element(by.id('t-virtualHosts/test1.example.com/post')).click();
element.all(by.css('[ng-click="menuClick(button)"]')).each(function(el) {
el.getText().then(function(text) {
if (text == 'New form replay') {
el.click();
}
});
});
expect(element(by.id('t-virtualHosts/test1.example.com/post/n' + id)).getText()).toMatch(/^https?:\/\//);
id++;
}
});
});
});