From b47fd838c6757373da33e605d52bc174e5c21f41 Mon Sep 17 00:00:00 2001 From: Martin Schoeler <martin.schoeler@rocket.chat> Date: Fri, 10 Feb 2017 12:27:54 -0200 Subject: [PATCH] Manually Approve New Users test start --- tests/end-to-end/ui/12-settings.js | 72 +++++++++++++++++++++++++++++- tests/pageobjects/login.page.js | 1 + 2 files changed, 71 insertions(+), 2 deletions(-) diff --git a/tests/end-to-end/ui/12-settings.js b/tests/end-to-end/ui/12-settings.js index 3be5bed3831..3b6e66ab5c6 100644 --- a/tests/end-to-end/ui/12-settings.js +++ b/tests/end-to-end/ui/12-settings.js @@ -2,6 +2,7 @@ /* globals expect */ /* eslint no-unused-vars: 0 */ +import loginPage from '../../pageobjects/login.page'; import supertest from 'supertest'; const request = supertest('http://localhost:3000'); const prefix = '/api/v1/'; @@ -9,9 +10,10 @@ const prefix = '/api/v1/'; import flexTab from '../../pageobjects/flex-tab.page'; import mainContent from '../../pageobjects/main-content.page'; import sideNav from '../../pageobjects/side-nav.page'; +import admin from '../../pageobjects/administration.page'; //test data imports -import {checkIfUserIsValid} from '../../data/checks'; +import {checkIfUserIsValid, checkIfUserIsAdmin} from '../../data/checks'; import {targetUser, imgURL} from '../../data/interactions.js'; import {adminUsername, adminEmail, adminPassword, username, email, password} from '../../data/user.js'; @@ -42,7 +44,7 @@ var settingValue = { value : undefined }; -describe('Changing settings via api', () => { +describe.only('Changing settings via api', () => { before((done) => { checkIfUserIsValid(username, email, password); sideNav.spotlightSearch.waitForVisible(10000); @@ -420,5 +422,71 @@ describe('Changing settings via api', () => { }); }); }); + + describe('Manually Approve New Users', () => { + before(() => { + sideNav.accountBoxUserName.waitForVisible(5000); + sideNav.accountBoxUserName.click(); + sideNav.logout.waitForVisible(5000); + sideNav.logout.click(); + + loginPage.open(); + }); + + it('should change the Manually Approve New Users via api', (done) => { + request.post(api('settings/Accounts_ManuallyApproveNewUsers')) + .set(credentials) + .send({'value' : true}) + .expect('Content-Type', 'application/json') + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + }) + .end(done); + }); + + it('register the user', () => { + loginPage.registerButton.waitForVisible(5000); + loginPage.registerButton.click(); + loginPage.nameField.waitForVisible(5000); + loginPage.nameField.setValue('setting'+username); + loginPage.emailField.setValue('setting'+email); + loginPage.passwordField.setValue(password); + loginPage.confirmPasswordField.setValue(password); + + loginPage.submit(); + + loginPage.registrationSucceededCard.waitForVisible(5000); + loginPage.registrationSucceededCard.getText().should.equal('Registration Succeeded'); + loginPage.backToLoginButton.click(); + }); + + it('login as admin and go to users', () => { + checkIfUserIsAdmin(adminUsername, adminEmail, adminPassword); + sideNav.accountBoxUserName.click(); + sideNav.admin.waitForVisible(5000); + sideNav.admin.click(); + admin.usersLink.waitForVisible(5000); + admin.usersLink.click(); + admin.usersFilter.waitForVisible(5000); + }); + + it('search the user', () => { + admin.usersFilter.click(); + admin.usersFilter.setValue('setting'+username); + }); + + it('should change the Manually Approve New Users via api', (done) => { + request.post(api('settings/Accounts_ManuallyApproveNewUsers')) + .set(credentials) + .send({'value' : false}) + .expect('Content-Type', 'application/json') + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + }) + .end(done); + }); + }); }); diff --git a/tests/pageobjects/login.page.js b/tests/pageobjects/login.page.js index 3bee5a1f699..b500a9609de 100644 --- a/tests/pageobjects/login.page.js +++ b/tests/pageobjects/login.page.js @@ -18,6 +18,7 @@ class LoginPage extends Page { get emailInvalidText() { return browser.element('[name=email]~.input-error'); } get passwordInvalidText() { return browser.element('[name=pass]~.input-error'); } get confirmPasswordInvalidText() { return browser.element('[name=confirm-pass]~.input-error'); } + get registrationSucceededCard() { return browser.element('#login-card h2'); } open() { super.open(''); -- GitLab