From 3b32e9be2f8d27874b5745e555cc9bd43df32ac8 Mon Sep 17 00:00:00 2001 From: Martin Schoeler Date: Thu, 5 Jan 2017 16:33:27 -0200 Subject: [PATCH] more tests add more render tests with the reset button and tested some permissions --- tests/pageobjects/administration.page.js | 22 +++- tests/pageobjects/main-content.page.js | 1 + tests/steps/11-admin.js | 129 ++++++++++++++++++++++- tests/steps/12-admin-settings.js | 54 ++++++++-- 4 files changed, 196 insertions(+), 10 deletions(-) diff --git a/tests/pageobjects/administration.page.js b/tests/pageobjects/administration.page.js index 945097221ba..2e337b314fa 100644 --- a/tests/pageobjects/administration.page.js +++ b/tests/pageobjects/administration.page.js @@ -56,7 +56,6 @@ class Administration extends Page { get rolesUserHistory() { return browser.element('[name="perm[user][view-history]"]'); } get rolesOwnerDeleteMessage() { return browser.element('[name="perm[owner][delete-message]"]'); } get rolesOwnerEditMessage() { return browser.element('[name="perm[owner][edit-message]"]'); } - get rolesOwnerEditMessage() { return browser.element('[name="perm[owner][edit-message]"]'); } get emojiFilter() { return browser.element('#emoji-filter'); } @@ -71,32 +70,51 @@ class Administration extends Page { get generalButtonExpandUTF8() { return browser.element('.section:nth-of-type(8) .button.expand'); } get generalSiteUrl() { return browser.element('[name="Site_Url"]'); } + get generalSiteUrlReset() { return browser.element('.reset-setting[data-setting="Site_Url"]'); } get generalSiteName() { return browser.element('[name="Site_Name"]'); } + get generalSiteNameReset() { return browser.element('.reset-setting[data-setting="Site_Name"]'); } get generalLanguage() { return browser.element('[name="Language"]'); } + get generalLanguagePtOption() { return browser.element('[value="pt"]'); } + get generalLanguageReset() { return browser.element('.reset-setting[data-setting="Language"]'); } get generalSelfSignedCertsTrue() { return browser.element('label:nth-of-type(1) [name="Allow_Invalid_SelfSigned_Certs"]'); } get generalSelfSignedCertsFalse() { return browser.element('label:nth-of-type(2) [name="Allow_Invalid_SelfSigned_Certs"]'); } + get generalSelfSignedCertsReset() { return browser.element('.reset-setting[data-setting="Allow_Invalid_SelfSigned_Certs"]'); } get generalFavoriteRoomTrue() { return browser.element('label:nth-of-type(1) [name="Favorite_Rooms"]'); } get generalFavoriteRoomFalse() { return browser.element('label:nth-of-type(2) [name="Favorite_Rooms"]'); } + get generalFavoriteRoomReset() { return browser.element('.reset-setting[data-setting="Favorite_Rooms"]'); } get generalCdnPrefix() { return browser.element('[name="CDN_PREFIX"]'); } + get generalCdnPrefixReset() { return browser.element('.reset-setting[data-setting="CDN_PREFIX"]'); } get generalForceSSLTrue() { return browser.element('label:nth-of-type(1) [name="Force_SSL"]'); } get generalForceSSLFalse() { return browser.element('label:nth-of-type(2) [name="Force_SSL"]'); } + get generalForceSSLReset() { return browser.element('.reset-setting[data-setting="Force_SSL"]'); } get generalGoogleTagId() { return browser.element('[name="GoogleTagManager_id"]'); } + get generalGoogleTagIdReset() { return browser.element('.reset-setting[data-setting="GoogleTagManager_id"]'); } get generalBugsnagKey() { return browser.element('[name="Bugsnag_api_key"]'); } + get generalBugsnagKeyReset() { return browser.element('.reset-setting[data-setting="Bugsnag_api_key"]'); } get generalIframeSendTrue() { return browser.element('label:nth-of-type(1) [name="Iframe_Integration_send_enable"]'); } get generalIframeSendFalse() { return browser.element('label:nth-of-type(2) [name="Iframe_Integration_send_enable"]'); } + get generalIframeSendReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_send_enable"]'); } get generalIframeSendTargetOrigin() { return browser.element('[name="Iframe_Integration_send_target_origin"]'); } + get generalIframeSendTargetOriginReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_send_target_origin"]'); } get generalIframeRecieveTrue() { return browser.element('label:nth-of-type(1) [name="Iframe_Integration_receive_enable"]'); } get generalIframeRecieveFalse() { return browser.element('label:nth-of-type(2) [name="Iframe_Integration_receive_enable"]'); } + get generalIframeRecieveFalseReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_receive_enable"]'); } get generalIframeRecieveOrigin() { return browser.element('[name="Iframe_Integration_receive_origin"]'); } + get generalIframeRecieveOriginReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_receive_origin"]'); } get generalNotificationDuration() { return browser.element('[name="Desktop_Notifications_Duration"]'); } + get generalNotificationDurationReset() { return browser.element('.reset-setting[data-setting="Desktop_Notifications_Duration"]'); } get generalRestApiUserLimit() { return browser.element('[name="API_User_Limit"]'); } + get generalRestApiUserLimitReset() { return browser.element('.reset-setting[data-setting="API_User_Limit"]'); } get generalReportingTrue() { return browser.element('label:nth-of-type(1) [name="Statistics_reporting"]'); } get generalReportingFalse() { return browser.element('label:nth-of-type(2) [name="Statistics_reporting"]'); } + get generalReportingReset() { return browser.element('.reset-setting[data-setting="Statistics_reporting"]'); } get generalStreamCastAdress() { return browser.element('[name="Stream_Cast_Address"]'); } + get generalStreamCastAdressReset() { return browser.element('.reset-setting[data-setting="Stream_Cast_Address"]'); } get generalUTF8Regex() { return browser.element('[name="UTF8_Names_Validation"]'); } + get generalUTF8RegexReset() { return browser.element('.reset-setting[data-setting="UTF8_Names_Validation"]'); } get generalUTF8NamesSlugTrue() { return browser.element('label:nth-of-type(1) [name="UTF8_Names_Slugify"]'); } get generalUTF8NamesSlugFalse() { return browser.element('label:nth-of-type(2) [name="UTF8_Names_Slugify"]'); } - + get generalUTF8NamesSlugReset() { return browser.element('.reset-setting[data-setting="UTF8_Names_Slugify"]'); } } module.exports = new Administration(); diff --git a/tests/pageobjects/main-content.page.js b/tests/pageobjects/main-content.page.js index 68e7db002d6..25587806db7 100644 --- a/tests/pageobjects/main-content.page.js +++ b/tests/pageobjects/main-content.page.js @@ -58,6 +58,7 @@ class MainContent extends Page { get messagePopUpTitle() { return browser.element('.message-popup-title'); } get messagePopUpItems() { return browser.element('.message-popup-items'); } get messagePopUpFirstItem() { return browser.element('.popup-item.selected'); } + get mentionAllPopUp() { return browser.element('.popup-item[data-id="all"]'); } sendMessage(text) { this.setTextToInput(text); diff --git a/tests/steps/11-admin.js b/tests/steps/11-admin.js index 7db694cd819..3f3fd0b24f4 100644 --- a/tests/steps/11-admin.js +++ b/tests/steps/11-admin.js @@ -421,40 +421,167 @@ describe('Admin Login', () => { admin.generalSiteUrl.isVisible().should.be.true; }); + it('should change site url field', () => { + admin.generalSiteUrl.setValue('something'); + }); + + it('should show the reset button', () => { + admin.generalSiteUrlReset.waitForVisible(5000); + admin.generalSiteUrlReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalSiteUrlReset.click(); + }); + + it('the site url field should be different from the last input', () => { + admin.generalSiteUrl.getText().should.not.equal('something'); + }); + it('should show site name field', () => { - admin.generalLink.isVisible().should.be.true; + admin.generalSiteName.isVisible().should.be.true; + }); + + it('should change site name field', () => { + admin.generalSiteName.setValue('something'); + }); + + it('should show the reset button', () => { + admin.generalSiteNameReset.waitForVisible(5000); + admin.generalSiteNameReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalSiteNameReset.click(); + }); + + it('the name field should be different from the last input', () => { + admin.generalSiteName.getText().should.not.equal('something'); }); it('should show language field', () => { admin.generalLanguage.isVisible().should.be.true; }); + it('should change the language ', () => { + admin.generalLanguage.click(); + admin.generalLanguagePtOption.waitForVisible(5000); + admin.generalLanguagePtOption.click(); + }); + + it('should show the reset button', () => { + admin.generalLanguageReset.waitForVisible(5000); + admin.generalLanguageReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalLanguageReset.click(); + }); + it('should show invalid self signed certs checkboxes', () => { admin.generalSelfSignedCertsFalse.isVisible().should.be.true; admin.generalSelfSignedCertsTrue.isVisible().should.be.true; }); + it('should change the invalid self signed certs checkboxes', () => { + admin.generalSelfSignedCertsTrue.click(); + }); + + it('should show the reset button', () => { + admin.generalSelfSignedCertsReset.waitForVisible(5000); + admin.generalSelfSignedCertsReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalSelfSignedCertsReset.click(); + }); + it('should show favorite rooms checkboxes', () => { admin.generalFavoriteRoomFalse.isVisible().should.be.true; admin.generalFavoriteRoomTrue.isVisible().should.be.true; }); + it('should change the favorite rooms checkboxes', () => { + admin.generalFavoriteRoomFalse.click(); + }); + + it('should show the reset button', () => { + admin.generalFavoriteRoomReset.waitForVisible(5000); + admin.generalFavoriteRoomReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalFavoriteRoomReset.click(); + }); + it('should show cdn prefix field', () => { admin.generalCdnPrefix.isVisible().should.be.true; }); + it('should change site url field', () => { + admin.generalCdnPrefix.setValue('something'); + }); + + it('should show the reset button', () => { + admin.generalCdnPrefixReset.waitForVisible(5000); + admin.generalCdnPrefixReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalCdnPrefixReset.click(); + }); + it('should show the force SSL checkboxes', () => { admin.generalForceSSLTrue.isVisible().should.be.true; admin.generalForceSSLFalse.isVisible().should.be.true; }); + it('should change the force ssl checkboxes', () => { + admin.generalForceSSLTrue.click(); + }); + + it('should show the reset button', () => { + admin.generalForceSSLReset.waitForVisible(5000); + admin.generalForceSSLReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalForceSSLReset.click(); + }); + it('should show google tag id field', () => { admin.generalGoogleTagId.isVisible().should.be.true; }); + it('should change google tag id field', () => { + admin.generalGoogleTagId.setValue('something'); + }); + + it('should show the reset button', () => { + admin.generalGoogleTagIdReset.waitForVisible(5000); + admin.generalGoogleTagIdReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalGoogleTagIdReset.click(); + }); + it('should show bugsnag key field', () => { admin.generalBugsnagKey.isVisible().should.be.true; }); + + it('should change bugsnag key id field', () => { + admin.generalBugsnagKey.setValue('something'); + }); + + it('should show the reset button', () => { + admin.generalBugsnagKeyReset.waitForVisible(5000); + admin.generalBugsnagKeyReset.isVisible().should.be.true; + }); + + it('should click the reset button', () => { + admin.generalBugsnagKeyReset.click(); + }); }); describe('iframe', () => { diff --git a/tests/steps/12-admin-settings.js b/tests/steps/12-admin-settings.js index 3b4adc69a53..5184efb7275 100644 --- a/tests/steps/12-admin-settings.js +++ b/tests/steps/12-admin-settings.js @@ -4,6 +4,8 @@ import sideNav from '../pageobjects/side-nav.page'; import flexTab from '../pageobjects/flex-tab.page'; import admin from '../pageobjects/administration.page'; +import mainContent from '../pageobjects/main-content.page'; +import {checkIfUserIsValid} from '../data/checks'; //test data imports import {checkIfUserIsAdmin} from '../data/checks'; @@ -52,18 +54,13 @@ describe('Admin settings', () => { }); }); - describe('permissions?', () => { + describe('permissions', () => { before(() => { admin.permissionsLink.waitForVisible(5000); admin.permissionsLink.click(); admin.rolesPermissionGrid.waitForVisible(5000); }); - after(() => { - admin.infoLink.waitForVisible(5000); - admin.infoLink.click(); - }); - describe('changing the permissions', () => { it('should change the create c room permission', () => { if (admin.rolesUserCreateC.isSelected()) { @@ -90,7 +87,7 @@ describe('Admin settings', () => { }); it('should change the mention all permission', () => { - if (admin.rolesUserCreateC.isSelected()) { + if (admin.rolesUserMentionAll.isSelected()) { admin.rolesUserMentionAll.waitForVisible(5000); admin.rolesUserMentionAll.scroll(); admin.rolesUserMentionAll.click(); @@ -112,10 +109,53 @@ describe('Admin settings', () => { admin.rolesOwnerEditMessage.click(); } }); + }); + }); + describe('test the permissions', () => { + before(() => { + sideNav.preferencesClose.waitForVisible(5000); + sideNav.preferencesClose.click(); + + checkIfUserIsValid('adminCreated'+username, 'adminCreated'+email, password); + }); + it('should not show the plus icon on channels ', () => { + sideNav.newChannelIcon.isVisible().should.be.false; + }); + + it('when clicked should not show the new channel name input ', () => { + sideNav.newChannelBtn.click(); + sideNav.channelName.isVisible().should.be.false; + }); + it('should not show the plus icon on direct messages ', () => { + sideNav.newDirectMessageIcon.isVisible().should.be.false; + }); + + it('when clicked should not show the new direct message user input ', () => { + sideNav.newDirectMessageBtn.click(); + sideNav.directMessageTarget.isVisible().should.be.false; + }); + it('go to general', () => { + sideNav.getChannelFromList('general').waitForExist(5000); + sideNav.openChannel('general'); }); + it('try to use @all and should be warned by rocket.cat ', () => { + mainContent.addTextToInput('@all'); + mainContent.mentionAllPopUp.waitForVisible(5000); + mainContent.mentionAllPopUp.click(); + mainContent.sendBtn.click(); + mainContent.lastMessage.getText().should.equal('Notify all in this room is not allowed'); + }); + + it.skip('should not be able to delete own message ', () => { + //waiting for changes in the delete-message permission + }); + + it.skip('should not be able to edit own message ', () => { + //waiting for changes in the edit-message permission + }); }); }); \ No newline at end of file