WIP - Improve e2e tests (#1600)

This commit is contained in:
Christophe Maudoux 2019-01-19 21:56:00 +01:00
parent 33ebe9178b
commit 6657ac488e
5 changed files with 31 additions and 4 deletions

View File

@ -26,6 +26,8 @@ templateDir = __pwd__/lemonldap-ng-portal/site/templates
portalStatus = 1
totp2fActivation = 1
totp2fSelfRegistration = 1
captcha_mail_enabled = 0
portalDisplayResetPassword = 1
[handler]

View File

@ -164,7 +164,7 @@
"UA" : "$ENV{HTTP_USER_AGENT}",
"_whatToTrace": "$_auth eq 'SAML' ? \"$_user\\@$_idpConfKey\" : $_auth eq 'OpenIDConnect' ? \"$_user\\@$_oidcConnectedRP\" : \"$_user\""
},
"mailUrl": "http://auth.example.com:__port__/resetpwd",
"mailPwdRstUrl": "http://auth.example.com:__port__/resetpwd",
"notification": 1,
"notificationStorage": "File",
"notificationStorageOptions": {

View File

@ -12,11 +12,14 @@ describe('00 Lemonldap::NG', function() {
browser.driver.findElement(by.xpath("//img[@title='en']")).click();
expect(browser.driver.findElement(by.css('[trmsg="9"]')).getText()).toEqual('Authentication required');
expect(browser.driver.findElement(by.css('[trspan="createAccount"]')).getText()).toEqual('Create an account');
expect(browser.driver.findElement(by.css('[trspan="resetPwd"]')).getText()).toEqual('Reset my password');
browser.driver.findElement(by.xpath("//img[@title='it']")).click();
expect(browser.driver.findElement(by.css('[trmsg="9"]')).getText()).toEqual('Autenticazione necessaria');
expect(browser.driver.findElement(by.css('[trspan="createAccount"]')).getText()).toEqual('Crea un account');
expect(browser.driver.findElement(by.css('[trspan="resetPwd"]')).getText()).toEqual('Reimpostare la password');
browser.driver.findElement(by.xpath("//img[@title='fr']")).click();
expect(browser.driver.findElement(by.css('[trspan="createAccount"]')).getText()).toEqual('Créer un compte');
expect(browser.driver.findElement(by.css('[trspan="resetPwd"]')).getText()).toEqual('Réinitialiser mon mot de passe');
});
it('should create an account', function() {
browser.driver.findElement(by.css('[trspan="createAccount"]')).click();
@ -29,6 +32,28 @@ describe('00 Lemonldap::NG', function() {
browser.driver.findElements(by.className('img-thumbnail')).then(function(elems) {
expect(elems.length).toEqual(1);
});
browser.driver.findElement(by.xpath("//input[@name='firstname']")).sendKeys('doctor');
browser.driver.findElement(by.xpath("//input[@name='lastname']")).sendKeys('who');
browser.driver.findElement(by.xpath("//input[@name='mail']")).sendKeys('dwho@badwolf.com');
browser.driver.findElement(by.xpath("//input[@name='captcha']")).sendKeys('1234567');
browser.driver.findElement(by.xpath("//button[@type='submit']")).click();
expect(browser.driver.findElement(by.css('[trmsg="76"]')).getText()).toEqual('Erreur dans la saisie du captcha');
browser.driver.findElement(by.css('[trspan="back2Portal"]')).click();
});
it('should reset my password', function() {
browser.driver.findElement(by.css('[trspan="resetPwd"]')).click();
expect(browser.driver.findElement(by.css('[trmsg="69"]')).getText()).toEqual('Merci de saisir votre adresse mail');
expect(browser.driver.findElement(by.css('[trspan="sendPwd"]')).getText()).toEqual('Envoyez-moi un lien');
// A one input form
browser.driver.findElements(by.className('input-group')).then(function(elems) {
expect(elems.length).toEqual(1);
});
browser.driver.findElement(by.xpath("//input[@name='mail']")).sendKeys('dwho@badwolf.com');
browser.driver.findElement(by.xpath("//button[@type='submit']")).click();
expect(browser.driver.findElement(by.css('[trmsg="72"]')).getText()).toEqual('Un mail de confirmation vous a été envoyé');
expect(browser.driver.findElement(by.css('[trspan="mailSent2"]')).getText()).toEqual('Un message a été envoyé à votre adresse mail.');
expect(browser.driver.findElement(by.css('[trspan="linkValidUntil"]')).getText()).toEqual("Ce message contient un lien pour réinitialiser votre mot de passe, ce lien est valide jusqu'au");
});
it('should authenticate with history', function() {
expect(browser.driver.findElement(by.css('[trspan="back2Portal"]')).getText()).toEqual('Retourner au portail');

View File

@ -1,7 +1,7 @@
'use strict';
/* http://docs.angularjs.org/guide/dev_guide.e2e-testing */
describe('01 Lemonldap::NG', function() {
describe('0 Lemonldap::NG', function() {
describe('Portal should display Menu', function() {
it('Should have four buttons', function() {
browser.driver.findElement(by.xpath("//img[@title='fr']")).click();

View File

@ -2,9 +2,9 @@ exports.config = {
allScriptsTimeout: 300000,
// Specific test
// specs: process.env.E2E_TESTS,
specs: process.env.E2E_TESTS,
// All tests
specs: ['portal/*.js', 'handler/*.js', 'manager/*.js' ],
//specs: ['portal/*.js', 'handler/*.js', 'manager/*.js' ],
capabilities: {
//'browserName': 'firefox'