The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/tests/steps/11-admin.js

559 lines
15 KiB

/* eslint-env mocha */
/* eslint-disable func-names, prefer-arrow-callback */
import sideNav from '../pageobjects/side-nav.page';
import flexTab from '../pageobjects/flex-tab.page';
import admin from '../pageobjects/administration.page';
//test data imports
import {checkIfUserIsAdmin} from '../data/checks';
import {adminUsername, adminEmail, adminPassword} from '../data/user.js';
describe('Admin Login', () => {
before(() => {
checkIfUserIsAdmin(adminUsername, adminEmail, adminPassword);
sideNav.getChannelFromList('general').waitForExist(5000);
sideNav.openChannel('general');
});
after(() => {
sideNav.preferencesClose.waitForVisible(5000);
sideNav.preferencesClose.click();
sideNav.getChannelFromList('general').waitForExist(5000);
sideNav.openChannel('general');
});
describe('Admin view', () => {
before(() => {
sideNav.accountBoxUserName.click();
sideNav.admin.waitForVisible(5000);
});
it('Enter the admin view', () => {
sideNav.admin.click();
admin.flexNavContent.waitForVisible(5000);
});
describe('info', () => {
before(() =>{
admin.infoLink.waitForVisible(5000);
admin.infoLink.click();
admin.infoRocketChatTable.waitForVisible(5000);
});
it('the first title should be Rocket.Chat', () => {
admin.infoRocketChatTableTitle.getText().should.equal('Rocket.Chat');
});
it('should show the rocket chat table', () => {
admin.infoRocketChatTable.isVisible().should.be.true;
});
it('the second title should be Commit', () => {
admin.infoCommitTableTitle.getText().should.equal('Commit');
});
it('should show the Commit table', () => {
admin.infoCommitTable.isVisible().should.be.true;
});
it('the first title should be Runtime_Environment', () => {
admin.infoRuntimeTableTitle.getText().should.equal('Runtime_Environment');
});
it('should show the Runtime_Environment table', () => {
admin.infoRuntimeTable.isVisible().should.be.true;
});
it('the first title should be Build_Environment', () => {
admin.infoBuildTableTitle.getText().should.equal('Build_Environment');
});
it('should show the Build_Environment table', () => {
admin.infoBuildTable.isVisible().should.be.true;
});
});
describe('rooms', () => {
before(() => {
admin.roomsLink.waitForVisible(5000);
admin.roomsLink.click();
admin.roomsFilter.waitForVisible(5000);
});
after(() => {
admin.infoLink.click();
});
describe('render', () => {
it('should show the search form', () => {
admin.roomsSearchForm.isVisible().should.be.true;
});
it('should show the rooms Filter', () => {
admin.roomsFilter.isVisible().should.be.true;
});
it('should show the channel checkbox', () => {
admin.roomsChannelsCheckbox.isVisible().should.be.true;
});
it('should show the direct messsage checkbox', () => {
admin.roomsDirectCheckbox.isVisible().should.be.true;
});
it('should show the Private channel checkbox', () => {
admin.roomsPrivateCheckbox.isVisible().should.be.true;
});
it('should show the general channel', () => {
admin.roomsGeneralChannel.isVisible().should.be.true;
});
});
describe('filter text', () => {
before(() => {
admin.roomsFilter.click();
admin.roomsFilter.setValue('general');
});
after(() => {
admin.roomsFilter.click();
admin.roomsFilter.setValue('');
});
it('should show the general channel', () => {
admin.roomsGeneralChannel.isVisible().should.be.true;
});
});
describe('filter text with wrong channel', () => {
before(() => {
admin.roomsFilter.click();
browser.pause(5000);
admin.roomsFilter.setValue('something else');
});
after(() => {
admin.roomsFilter.click();
admin.roomsFilter.setValue('');
});
it('should not show the general channel', () => {
admin.roomsGeneralChannel.isVisible().should.be.false;
});
});
describe('filter checkbox', () => {
var checkbox = 1;
before(() => {
admin.roomsFilter.setValue('');
//add value triggers a key event that changes search±±±±±±±±±
admin.roomsFilter.addValue(' ');
admin.roomsGeneralChannel.waitForVisible(5000);
});
beforeEach(() => {
switch (checkbox) {
case 1:
admin.roomsChannelsCheckbox.click();
break;
case 2:
admin.roomsDirectCheckbox.click();
break;
case 3:
admin.roomsPrivateCheckbox.click();
break;
}
});
afterEach(() => {
switch (checkbox) {
case 1:
admin.roomsChannelsCheckbox.click();
checkbox ++;
break;
case 2:
admin.roomsDirectCheckbox.click();
checkbox ++;
break;
case 3:
admin.roomsPrivateCheckbox.click();
break;
}
});
it('should show the general channel', () => {
admin.roomsGeneralChannel.isVisible().should.be.true;
});
it('should not show the general channel', () => {
admin.roomsGeneralChannel.isVisible().should.be.false;
});
it('should not show the general channel', () => {
admin.roomsGeneralChannel.isVisible().should.be.false;
});
});
});
describe('users', () => {
before(() => {
admin.usersLink.waitForVisible(5000);
admin.usersLink.click();
admin.usersFilter.waitForVisible(5000);
});
after(() => {
admin.infoLink.click();
});
it('should show the search form', () => {
admin.usersFilter.isVisible().should.be.true;
});
it('should show rocket.cat', () => {
admin.usersRocketCat.isVisible().should.be.true;
});
describe('filter text', () => {
before(() => {
admin.usersFilter.click();
browser.pause(5000);
admin.usersFilter.setValue('Rocket.Cat');
});
after(() => {
admin.usersFilter.click();
admin.usersFilter.setValue('');
});
it('should show rocket.cat', () => {
admin.usersRocketCat.waitForVisible();
admin.usersRocketCat.isVisible().should.be.true;
});
});
describe('filter text with wrong user', () => {
before(() => {
admin.usersFilter.click();
browser.pause(5000);
admin.usersFilter.setValue('something else');
});
after(() => {
admin.usersFilter.click();
admin.usersFilter.setValue('');
});
it('should not show rocket.cat', () => {
admin.usersRocketCat.isVisible().should.be.false;
});
});
describe('users flex tab ', () => {
describe('send invitation', () => {
before(() => {
flexTab.usersSendInvitationTab.waitForVisible(5000);
flexTab.usersSendInvitationTab.click();
flexTab.usersSendInvitationTextArea.waitForVisible(5000);
});
after(() => {
flexTab.usersSendInvitationTab.waitForVisible(5000);
flexTab.usersSendInvitationTab.click();
flexTab.usersSendInvitationTextArea.waitForVisible(5000, true);
});
it('should show the send invitation text area', () => {
flexTab.usersSendInvitationTextArea.isVisible().should.be.true;
});
it('should show the cancel button', () => {
flexTab.usersButtonCancel.isVisible().should.be.true;
});
it('should show the send button', () => {
flexTab.usersSendInvitationSend.isVisible().should.be.true;
});
});
describe('create user ', () => {
before(() => {
flexTab.usersAddUserTab.waitForVisible(5000);
flexTab.usersAddUserTab.click();
flexTab.usersAddUserName.waitForVisible(5000);
});
after(() => {
flexTab.usersAddUserTab.waitForVisible(5000);
flexTab.usersAddUserTab.click();
flexTab.usersAddUserName.waitForVisible(5000, true);
});
it('should show the name field', () => {
flexTab.usersAddUserName.isVisible().should.be.true;
});
it('should show the username field', () => {
flexTab.usersAddUserUsername.isVisible().should.be.true;
});
it('should show the email field', () => {
flexTab.usersAddUserEmail.isVisible().should.be.true;
});
it('should show the verified checkbox', () => {
flexTab.usersAddUserVerifiedCheckbox.isVisible().should.be.true;
});
it('should show the password field', () => {
flexTab.usersAddUserPassword.isVisible().should.be.true;
});
it('should show the random password button', () => {
flexTab.usersAddUserRandomPassword.isVisible().should.be.true;
});
it('should show the require password change button', () => {
flexTab.usersAddUserChangePasswordCheckbox.isVisible().should.be.true;
});
it('should show the role dropdown', () => {
flexTab.usersAddUserRole.isVisible().should.be.true;
});
it('should show the join default channel checkbox', () => {
flexTab.usersAddUserDefaultChannelCheckbox.isVisible().should.be.true;
});
it('should show the send welcome checkbox', () => {
flexTab.usersAddUserWelcomeEmailCheckbox.isVisible().should.be.true;
});
it('should show the save button', () => {
flexTab.usersButtonSave.isVisible().should.be.true;
});
it('should show the cancel button', () => {
flexTab.usersButtonCancel.isVisible().should.be.true;
});
});
});
});
describe('roles', () => {
before(() =>{
admin.permissionsLink.waitForVisible(5000);
admin.permissionsLink.click();
admin.rolesPermissionGrid.waitForVisible(5000);
});
after(() => {
admin.infoLink.click();
});
it('should show the permissions grid', () => {
admin.rolesPermissionGrid.isVisible().should.be.true;
});
it('should show the new role button', () => {
admin.rolesNewRolesButton.isVisible().should.be.true;
});
it('should show the admin link', () => {
admin.rolesAdmin.isVisible().should.be.true;
});
describe('new role', () => {
before(() => {
admin.rolesNewRolesButton.waitForVisible(5000);
admin.rolesNewRolesButton.click();
admin.rolesReturnLink.waitForVisible(5000);
});
after(() => {
admin.rolesReturnLink.click();
});
it('should show the return to permissions', () => {
admin.rolesReturnLink.isVisible().should.be.true;
});
it('should show the new role name field', () => {
admin.rolesNewRoleName.isVisible().should.be.true;
});
it('should show the new role description field', () => {
admin.rolesNewRoleDesc.isVisible().should.be.true;
});
it('should show the new role scope', () => {
admin.rolesNewRoleScope.isVisible().should.be.true;
});
});
describe('admin role', () => {
before(() => {
admin.rolesAdmin.waitForVisible(5000);
admin.rolesAdmin.click();
admin.usersInternalAdmin.waitForVisible(5000);
});
after(() => {
admin.rolesReturnLink.click();
});
it('should show internal admin', () => {
admin.usersInternalAdmin.isVisible().should.be.true;
});
});
});
describe('general settings', () => {
before(() => {
admin.generalLink.waitForVisible(5000);
admin.generalLink.click();
admin.generalSiteUrl.waitForVisible(5000);
});
describe('general', () => {
it('should show site url field', () => {
admin.generalSiteUrl.isVisible().should.be.true;
});
it('should show site name field', () => {
admin.generalLink.isVisible().should.be.true;
});
it('should show language field', () => {
admin.generalLanguage.isVisible().should.be.true;
});
it('should show invalid self signed certs checkboxes', () => {
admin.generalSelfSignedCertsFalse.isVisible().should.be.true;
admin.generalSelfSignedCertsTrue.isVisible().should.be.true;
});
it('should show favorite rooms checkboxes', () => {
admin.generalFavoriteRoomFalse.isVisible().should.be.true;
admin.generalFavoriteRoomTrue.isVisible().should.be.true;
});
it('should show cdn prefix field', () => {
admin.generalCdnPrefix.isVisible().should.be.true;
});
it('should show the force SSL checkboxes', () => {
admin.generalForceSSLTrue.isVisible().should.be.true;
admin.generalForceSSLFalse.isVisible().should.be.true;
});
it('should show google tag id field', () => {
admin.generalGoogleTagId.isVisible().should.be.true;
});
it('should show bugsnag key field', () => {
admin.generalBugsnagKey.isVisible().should.be.true;
});
});
describe('iframe', () => {
before(() => {
admin.generalButtonExpandIframe.waitForVisible(5000);
admin.generalButtonExpandIframe.click();
admin.generalIframeSendTrue.waitForVisible(5000);
admin.generalIframeSendTrue.scroll();
});
it('should show iframe send checkboxes', () => {
admin.generalIframeSendTrue.isVisible().should.be.true;
admin.generalIframeSendFalse.isVisible().should.be.true;
});
it('should show send origin field', () => {
admin.generalIframeSendTargetOrigin.isVisible().should.be.true;
});
it('should show iframe send checkboxes', () => {
admin.generalIframeRecieveFalse.isVisible().should.be.true;
admin.generalIframeRecieveTrue.isVisible().should.be.true;
});
it('should show send origin field', () => {
admin.generalIframeRecieveOrigin.isVisible().should.be.true;
});
});
describe('notifications', () => {
before(() => {
admin.generalButtonExpandNotifications.waitForVisible(5000);
admin.generalButtonExpandNotifications.click();
admin.generalNotificationDuration.waitForVisible(5000);
admin.generalNotificationDuration.scroll();
});
it('should show the notifications durations field', () => {
admin.generalNotificationDuration.isVisible().should.be.true;
});
});
describe('rest api', () => {
before(() => {
admin.generalButtonExpandRest.waitForVisible(5000);
admin.generalButtonExpandRest.click();
admin.generalRestApiUserLimit.waitForVisible(5000);
admin.generalRestApiUserLimit.scroll();
});
it('should show the API user add limit field', () => {
admin.generalRestApiUserLimit.isVisible().should.be.true;
});
});
describe('reporting', () => {
before(() => {
admin.generalButtonExpandReporting.waitForVisible(5000);
admin.generalButtonExpandReporting.click();
admin.generalReportingTrue.waitForVisible(5000);
admin.generalReportingTrue.scroll();
});
it('should show the report to rocket.chat checkboxes', () => {
admin.generalReportingTrue.isVisible().should.be.true;
admin.generalReportingFalse.isVisible().should.be.true;
});
});
describe('stream cast', () => {
before(() => {
admin.generalButtonExpandStreamCast.waitForVisible(5000);
admin.generalButtonExpandStreamCast.click();
admin.generalStreamCastAdress.waitForVisible(5000);
admin.generalStreamCastAdress.scroll();
});
it('should show the stream cast adress field', () => {
admin.generalStreamCastAdress.isVisible().should.be.true;
});
});
describe('stream cast', () => {
before(() => {
admin.generalButtonExpandUTF8.waitForVisible(5000);
admin.generalButtonExpandUTF8.click();
admin.generalUTF8Regex.waitForVisible(5000);
admin.generalUTF8Regex.scroll();
});
it('should show the utf8 regex field', () => {
admin.generalUTF8Regex.isVisible().should.be.true;
});
it('should show the utf8 names slug checkboxes', () => {
admin.generalUTF8NamesSlugTrue.isVisible().should.be.true;
admin.generalUTF8NamesSlugFalse.isVisible().should.be.true;
});
});
});
});
});