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

215 lines
12 KiB
JavaScript

'use strict';
/* http://docs.angularjs.org/guide/dev_guide.e2e-testing */
describe('01 Lemonldap::NG Manager', function() {
describe('Tree display -> General Parameters', function() {
it('Main => should display 12 main nodes', function() {
browser.get('/');
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
// Portal
it('General Parameters > Portal -> Append 4 sub nodes', function() {
element(by.id('a-portalParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(14);
});
it('General Parameters > Portal > URL => Match', function() {
element(by.id('t-portal')).click();
expect(element(by.id('textinput')).getAttribute('value')).toEqual('http://auth.example.com:' + process.env.TESTWEBSERVERPORT + '/');
});
it('General Parameters > Portal > Menu => Append 2 sub nodes', function() {
element(by.id('a-portalMenu')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(16);
});
it('General Parameters > Portal > Menu > Module Activation => Append 5 sub nodes', function() {
element(by.id('a-portalModules')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(21);
});
it('General Parameters > Portal > Menu > Cat. and Apps. => Append 11 sub nodes', function() {
element(by.id('a-applicationList')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(32);
});
it('General Parameters > Portal > Customization => Append 8 sub nodes', function() {
element(by.id('a-portalCustomization')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(40);
});
it('General Parameters > Portal > Customization > Buttons => Append 4 sub nodes', function() {
element(by.id('a-portalButtons')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(44);
});
it('General Parameters > Portal > Customization > Password Management => Append 3 sub nodes', function() {
element(by.id('a-passwordManagement')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(47);
});
it('General Parameters > Portal > Customization > Other => Append 6 sub nodes', function() {
element(by.id('a-portalOther')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(53);
});
// Authentication Parameters
it('Main => should display 12 main nodes', function() {
browser.get('/');
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
it('General Parameters > Authn. parameters => Append 4 sub nodes', function() {
element(by.id('a-authParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(14);
});
it('General Parameters > Authn. parameters > Authn. modules => Should have 26 modules availabled with "Demonstration" selected', function() {
element(by.id('t-authentication')).click();
expect(element(by.css('option[selected="selected"]')).getAttribute('Value')).toEqual('Demo');
expect(element.all(by.repeater('item in currentNode.select')).count()).toEqual(26);
});
it('General Parameters > Authn. parameters > Users modules => Should have 7 modules availabled with "Same" selected', function() {
element(by.id('t-userDB')).click();
browser.sleep(1000);
expect(element(by.css('option[selected="selected"]')).getAttribute('Value')).toEqual('Same');
expect(element.all(by.repeater('item in currentNode.select')).count()).toEqual(7);
});
it('General Parameters > Authn. parameters > Password modules => Should have 8 modules availabled with "Demo" selected', function() {
element(by.id('t-passwordDB')).click();
expect(element(by.css('option[selected="selected"]')).getAttribute('Value')).toEqual('Demo');
expect(element.all(by.repeater('item in currentNode.select')).count()).toEqual(8);
});
it('General Parameters > Authn. parameters > Register modules => Should have 5 modules availabled with "Demo" selected', function() {
element(by.id('t-registerDB')).click();
expect(element(by.css('option[selected="selected"]')).getAttribute('Value')).toEqual('Demo');
expect(element.all(by.repeater('item in currentNode.select')).count()).toEqual(5);
});
it('should have a hash form if a key is clicked', function() {
element(by.id('a-demoParams')).click();
element(by.id('a-demoExportedVars')).click();
element(by.id('t-demoExportedVars/cn')).click();
expect(element.all(by.id('hashkeyinput')).count()).toEqual(1);
});
// Issuer Modules
it('Main => should display 12 main nodes', function() {
browser.get('/');
//var mainNodes = element.all(by.repeater('node in data track by node.id'));
//expect(mainNodes.count()).toEqual(12);
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
it('General Parameters > Issuer modules => Append 5 sub nodes', function() {
element(by.id('a-issuerParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(15);
});
it('General Parameters > Issuer modules > SAML => Append 3 sub nodes', function() {
element(by.id('a-issuerDBSAML')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(18);
});
it('General Parameters > Issuer modules > CAS => Append 3 sub nodes', function() {
element(by.id('a-issuerDBCAS')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(21);
});
it('General Parameters > Issuer modules > OpenID => Append 4 sub nodes', function() {
element(by.id('a-issuerDBOpenID')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(25);
});
it('General Parameters > Issuer modules > OpenIDConnect => Append 3 sub nodes', function() {
element(by.id('a-issuerDBOpenIDConnect')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(28);
});
it('General Parameters > Issuer modules > GET => Append 4 sub nodes', function() {
element(by.id('a-issuerDBGet')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(32);
});
// Logs
it('Main => should display 12 main nodes', function() {
browser.get('/');
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
it('General Parameters > Logs => Append 3 sub nodes', function() {
element(by.id('a-logParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(13);
});
// Cookies
it('Main => should display 12 main nodes', function() {
browser.get('/');
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
it('General Parameters > Cookies => Append 6 sub nodes', function() {
element(by.id('a-cookieParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(16);
});
// Sessions
it('Main => should display 12 main nodes', function() {
browser.get('/');
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
it('General Parameters > Sessions => Append 8 sub nodes', function() {
element(by.id('a-sessionParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(18);
});
it('General Parameters > Sessions > Opening conditions => New grant rule button + 2 rules', function() {
element(by.id('t-grantSessionRules')).click();
element(by.css('[ng-click="menuClick(button)"]')).click();
element(by.css('[ng-click="menuClick(button)"]')).click();
expect(element.all(by.repeater('s in currentNode.nodes')).count()).toEqual(2);
expect(element.all(by.xpath('//tbody/tr')).count()).toEqual(2);
expect(element.all(by.xpath('//tbody/tr/td/input')).count()).toEqual(6);
});
it('General Parameters > Sessions > Session storage => Append 4 sub nodes', function() {
element(by.id('a-sessionStorage')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(24);
});
it('General Parameters > Sessions > Multiple sessions => Append 6 sub nodes', function() {
element(by.id('a-multipleSessions')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(30);
});
it('General Parameters > Sessions > Persistent sessions => Append 2 sub nodes', function() {
element(by.id('a-persistentSessions')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(32);
});
it('General Parameters > Sessions > Persistent storage options => Append 3 sub nodes', function() {
element(by.id('t-persistentStorageOptions')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(35);
expect(element.all(by.xpath('//tbody/tr')).count()).toEqual(3);
expect(element.all(by.xpath('//tbody/tr/td/input')).count()).toEqual(6);
});
// Configuration reload
it('Main => should display 12 main nodes', function() {
browser.get('/');
expect(element.all(by.repeater('node in data track by node.id')).count()).toEqual(12);
});
it('General Parameters should display 10 sub nodes', function() {
element(by.id('a-generalParameters')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(10);
});
it('General Parameters > Configuration reload => Append 2 sub nodes', function() {
element(by.id('a-reloadParams')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(12);
});
it('General Parameters > Configuration relaod > Reload URLs => "New entry" button + 2 new URLS', function() {
element(by.id('t-reloadUrls')).click();
element(by.css('[ng-click="menuClick(button)"]')).click();
element(by.css('[ng-click="menuClick(button)"]')).click();
expect(element.all(by.repeater('node in node.nodes track by node.id')).count()).toEqual(14);
expect(element.all(by.xpath('//tbody/tr')).count()).toEqual(2);
expect(element.all(by.xpath('//tbody/tr/td/input')).count()).toEqual(4);
});
});
});