pull/9608/head
Karl Prieb 7 years ago
parent 2863e58b52
commit f87af93f1a
  1. 4
      packages/rocketchat-ui-sidenav/client/roomList.js
  2. 2
      tests/chimp-config.js
  3. 16
      tests/data/checks.js
  4. 25
      tests/end-to-end/ui/04-main-elements-render.js
  5. 10
      tests/end-to-end/ui/05-channel-creation.js
  6. 2
      tests/end-to-end/ui/06-messaging.js
  7. 1
      tests/end-to-end/ui/07-emoji.js
  8. 29
      tests/end-to-end/ui/09-channel.js
  9. 20
      tests/end-to-end/ui/10-user-preferences.js
  10. 8
      tests/end-to-end/ui/11-admin.js
  11. 14
      tests/end-to-end/ui/12-settings.js
  12. 13
      tests/pageobjects/side-nav.page.js

@ -67,7 +67,9 @@ Template.roomList.helpers({
];
}
query.t = {$in: types};
query.f = {$ne: favoritesEnabled};
if (favoritesEnabled) {
query.f = {$ne: favoritesEnabled};
}
}
if (sortBy === 'activity') {

@ -19,7 +19,7 @@ module.exports = {
// showXolvioMessages: true,
// // - - - - CUCUMBER - - - -
path: 'tests/end-to-end',
path: 'tests/end-to-end/ui',
// format: 'pretty',
// tags: '~@ignore',
// singleSnippetPerFile: true,

@ -19,7 +19,7 @@ export function setDirectMessageCreated(status) {
}
export function checkIfUserIsValid(username, email, password) {
if (!sideNav.accountBoxUserName.isVisible()) {
if (!sideNav.sidebarHeader.isVisible()) {
//if the user is not logged in.
console.log(' User not logged. logging in...');
loginPage.open();
@ -35,11 +35,11 @@ export function checkIfUserIsValid(username, email, password) {
browser.click('.submit > button');
mainContent.mainContent.waitForExist(5000);
}
} else if (sideNav.accountBoxUserName.getAttribute('data-username') !== username) {
} else if (browser.execute(() => Meteor.user().username).value !== username) {
//if the logged user is not the right one
console.log(' Wrong logged user. Changing user...');
sideNav.accountMenu.waitForVisible(5000);
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.waitForVisible(5000);
sideNav.sidebarUserMenu.click();
sideNav.logout.waitForVisible(5000);
sideNav.logout.click();
@ -52,7 +52,7 @@ export function checkIfUserIsValid(username, email, password) {
}
export function checkIfUserIsAdmin(username, email, password) {
if (!sideNav.accountBoxUserName.isVisible()) {
if (!sideNav.sidebarHeader.isVisible()) {
//if the user is not logged in.
console.log(' User not logged. logging in...');
loginPage.open();
@ -68,11 +68,11 @@ export function checkIfUserIsAdmin(username, email, password) {
browser.click('.submit > button');
mainContent.mainContent.waitForExist(5000);
}
} else if (sideNav.accountBoxUserName.getText() !== username) {
} else if (browser.execute(() => Meteor.user().username).value !== username) {
//if the logged user is not the right one
console.log(' Wrong logged user. Changing user...');
sideNav.accountMenu.waitForVisible(5000);
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.waitForVisible(5000);
sideNav.sidebarUserMenu.click();
sideNav.logout.waitForVisible(5000);
sideNav.logout.click();

@ -12,40 +12,33 @@ import {username, email, password} from '../../data/user.js';
describe('[Main Elements Render]', function() {
before(()=>{
checkIfUserIsValid(username, email, password);
sideNav.sidebarHeader.waitForVisible(10000);
sideNav.spotlightSearchIcon.click();
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
});
describe('[Side Nav Bar]', () => {
describe('render:', () => {
it('it should show the logged username', () => {
sideNav.accountBoxUserName.isVisible().should.be.true;
});
it('it should show the logged user avatar', () => {
sideNav.accountBoxUserAvatar.isVisible().should.be.true;
before(() => {
sideNav.sidebarHeader.waitForVisible(10000);
});
it('it should show the new channel button', () => {
sideNav.newChannelBtn.waitForVisible(20000);
sideNav.newChannelBtn.isVisible().should.be.true;
});
it('it should show the plus icon', () => {
sideNav.newChannelIcon.isVisible().should.be.true;
});
it('it should show "general" channel', () => {
sideNav.general.isVisible().should.be.true;
});
it('it should show spotlight search bar', () => {
sideNav.spotlightSearch.isVisible().should.be.true;
});
});
describe('spotlight search render:', () => {
after(() => {
mainContent.messageInput.click();
});
it('it should show spotlight search bar', () => {
sideNav.spotlightSearchIcon.click();
sideNav.spotlightSearch.isVisible().should.be.true;
});
@ -86,7 +79,7 @@ describe('[Main Elements Render]', function() {
describe('[User Options]', () => {
describe('render:', () => {
before(() => {
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.click();
sideNav.getPopOverContent().waitForVisible(10000);
});

@ -2,6 +2,7 @@
/* eslint-disable func-names, prefer-arrow-callback */
import sideNav from '../../pageobjects/side-nav.page';
import mainContent from '../../pageobjects/main-content.page';
import {publicChannelName, privateChannelName} from '../../data/channel.js';
import {targetUser} from '../../data/interactions.js';
@ -12,13 +13,6 @@ import {username, email, password} from '../../data/user.js';
describe('[Channel creation]', function() {
before(()=>{
checkIfUserIsValid(username, email, password);
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
});
beforeEach(()=>{
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
});
afterEach(function() {
@ -57,6 +51,8 @@ describe('[Channel creation]', function() {
describe('direct message:', function() {
it('it should start a direct message with rocket.cat', function() {
sideNav.spotlightSearchIcon.click();
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel(targetUser);
setDirectMessageCreated(true);
});

@ -259,6 +259,7 @@ function messageActionsTest() {
describe('[Message]', () => {
before(()=>{
checkIfUserIsValid(username, email, password);
sideNav.spotlightSearchIcon.click();
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
});
@ -266,6 +267,7 @@ describe('[Message]', () => {
describe('[GENERAL Channel]', () => {
before(()=>{
sideNav.spotlightSearchIcon.click();
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
currentTest = 'general';

@ -10,6 +10,7 @@ import {checkIfUserIsValid} from '../../data/checks';
describe('[Emoji]', ()=> {
before(()=>{
checkIfUserIsValid(username, email, password);
sideNav.spotlightSearchIcon.click();
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
});

@ -22,14 +22,15 @@ describe('[Channel]', ()=> {
sideNav.openChannel('general');
});
describe('[Search]', ()=> {
describe('[SpotlightSearch]', () => {
describe.skip('[SpotlightSearch]', () => {
describe('rocket.cat:', () => {
afterEach(() => {
sideNav.spotlightSearch.setValue('');
});
// after(() => {
// sideNav.spotlightSearch.setValue('');
// });
it('it should search rocket cat', () => {
sideNav.spotlightSearchIcon.click();
sideNav.getChannelFromSpotlight('rocket.cat').isVisible().should.be.true;
});
@ -41,15 +42,17 @@ describe('[Channel]', ()=> {
});
describe('general:', () => {
beforeEach(() => {
sideNav.getChannelFromSpotlight('general').waitForVisible(5000);
});
// beforeEach(() => {
// sideNav.spotlightSearchIcon.click();
// sideNav.getChannelFromSpotlight('general').waitForVisible(5000);
// });
afterEach(() => {
sideNav.spotlightSearch.setValue('');
});
// afterEach(() => {
// sideNav.spotlightSearch.setValue('');
// });
it('it should search general', () => {
sideNav.spotlightSearchIcon.click();
sideNav.getChannelFromSpotlight('general').isVisible().should.be.true;
});
@ -64,9 +67,9 @@ describe('[Channel]', ()=> {
sideNav.getChannelFromSpotlight(publicChannelName).waitForVisible(5000);
});
afterEach(() => {
sideNav.spotlightSearch.setValue('');
});
// afterEach(() => {
// sideNav.spotlightSearch.setValue('');
// });
it('it should search the user created channel', () => {
sideNav.getChannelFromSpotlight(publicChannelName).isVisible().should.be.true;

@ -17,11 +17,8 @@ describe('[User Preferences]', ()=> {
describe('default', () => {
before(() => {
checkIfUserIsValid(username, email, password);
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
sideNav.accountMenu.waitForVisible();
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.waitForVisible();
sideNav.sidebarUserMenu.click();
sideNav.account.waitForVisible();
sideNav.account.click();
});
@ -96,10 +93,6 @@ describe('[User Preferences]', ()=> {
sideNav.getChannelFromList('general').waitForVisible(5000);
});
it('it should open GENERAL', () => {
sideNav.searchChannel('general');
});
it('it should send a message to be tested', () => {
mainContent.sendMessage('HI');
mainContent.waitForLastMessageEqualsText('HI');
@ -110,10 +103,6 @@ describe('[User Preferences]', ()=> {
mainContent.lastMessageUser.getText().should.equal(`EditedUserName${ username }`);
});
it('it should be that the name on the nav bar is the edited one', () => {
sideNav.accountBoxUserName.getText().should.equal(`@EditeduserName${ username }`.toLowerCase());
});
it.skip('it should be that the user name on the members flex tab is the edited one', () => {
mainContent.lastMessageUser.click();
flexTab.memberUserName.waitForVisible(5000);
@ -128,7 +117,7 @@ describe('[User Preferences]', ()=> {
});
describe('admin', () => {
describe('user info change forbidden:', () => {
describe.skip('user info change forbidden:', () => {
before(() => {
checkIfUserIsAdmin(adminUsername, adminEmail, adminPassword);
admin.open('admin/Accounts');
@ -139,9 +128,8 @@ describe('[User Preferences]', ()=> {
admin.accountsUsernameChangeFalse.click();
admin.adminSaveChanges();
admin.settingsSearch.setValue('');
sideNav.preferencesClose.waitForVisible(5000);
sideNav.preferencesClose.click();
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.searchChannel('general');
});
after(() => {

@ -12,9 +12,9 @@ import {adminUsername, adminEmail, adminPassword} from '../../data/user.js';
describe('[Administration]', () => {
before(() => {
checkIfUserIsAdmin(adminUsername, adminEmail, adminPassword);
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.general.waitForVisible(5000);
sideNav.general.click();
// sideNav.spotlightSearch.waitForVisible(10000);
// sideNav.general.waitForVisible(5000);
// sideNav.general.click();
});
after(() => {
@ -24,7 +24,7 @@ describe('[Administration]', () => {
describe('[Admin View]', () => {
before(() => {
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.click();
sideNav.admin.waitForVisible(5000);
});

@ -47,9 +47,9 @@ const settingValue = {
describe('[Api Settings Change]', () => {
before((done) => {
checkIfUserIsValid(username, email, password);
sideNav.spotlightSearch.waitForVisible(10000);
sideNav.general.waitForVisible(5000);
sideNav.general.click();
// sideNav.spotlightSearch.waitForVisible(10000);
// sideNav.general.waitForVisible(5000);
// sideNav.general.click();
request.post(api('login'))
.send(login)
@ -358,7 +358,7 @@ describe('[Api Settings Change]', () => {
describe.skip('profile changes:', () => {
before(() => {
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.click();
sideNav.account.waitForVisible(5000);
sideNav.account.click();
});
@ -433,8 +433,8 @@ describe('[Api Settings Change]', () => {
describe('Manually Approve New Users:', () => {
before(() => {
sideNav.accountMenu.waitForVisible(5000);
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.waitForVisible(5000);
sideNav.sidebarUserMenu.click();
sideNav.logout.waitForVisible(5000);
sideNav.logout.click();
@ -471,7 +471,7 @@ describe('[Api Settings Change]', () => {
it('login as admin and go to users', () => {
checkIfUserIsAdmin(adminUsername, adminEmail, adminPassword);
sideNav.accountMenu.click();
sideNav.sidebarUserMenu.click();
sideNav.admin.waitForVisible(5000);
sideNav.admin.click();
admin.usersLink.waitForVisible(5000);

@ -12,20 +12,23 @@ class SideNav extends Page {
get accountBoxUserName() { return browser.element('.sidebar__account-username'); }
get accountBoxUserAvatar() { return browser.element('.sidebar__account .avatar-image'); }
get accountMenu() { return browser.element('.sidebar__account'); }
get sidebarHeader() { return browser.element('.sidebar__header'); }
get sidebarUserMenu() { return browser.element('.sidebar__toolbar-button-icon--menu'); }
get popOverContent() { return browser.element('.rc-popover__content'); }
get statusOnline() { return browser.element('[data-id="online"]'); }
get statusAway() { return browser.element('[data-id="away"]'); }
get statusBusy() { return browser.element('[data-id="busy"]'); }
get statusOffline() { return browser.element('[data-id="offline"]'); }
get statusOnline() { return browser.element('.rc-popover__item--online'); }
get statusAway() { return browser.element('.rc-popover__item--away'); }
get statusBusy() { return browser.element('.rc-popover__item--busy'); }
get statusOffline() { return browser.element('.rc-popover__item--offline'); }
get account() { return browser.element('[data-id="account"][data-type="open"]'); }
get admin() { return browser.element('[data-id="administration"][data-type="open"]'); }
get logout() { return browser.element('[data-id="logout"][data-type="open"]'); }
get sideNavBar() { return browser.element('.sidebar'); }
// Toolbar
get spotlightSearchIcon() { return browser.element('.sidebar__toolbar-button-icon--magnifier'); }
get spotlightSearch() { return browser.element('.toolbar__search input'); }
get spotlightSearchPopUp() { return browser.element('.rooms-list__toolbar-search'); }
get newChannelBtn() { return browser.element('.toolbar .toolbar__search-create-channel'); }
get newChannelBtn() { return browser.element('.sidebar__toolbar-button-icon--plus'); }
get newChannelIcon() { return browser.element('.toolbar__icon.toolbar__search-create-channel'); }
// Rooms List

Loading…
Cancel
Save