added a better way to open the flextab

pull/5933/head
Martin Schoeler 9 years ago
parent d38defeaa2
commit deea3cec69
  1. 34
      tests/end-to-end/ui/04-main-elements-render.js
  2. 44
      tests/end-to-end/ui/09-channel.js
  3. 4
      tests/end-to-end/ui/10-user-preferences.js
  4. 69
      tests/pageobjects/flex-tab.page.js

@ -224,11 +224,11 @@ describe('Main Elements Render', function() {
});
describe('Room Info Tab', () => {
before(()=> {
flexTab.channelTab.click();
flexTab.operateFlexTab('info', true);
});
after(()=> {
flexTab.channelTab.click();
flexTab.operateFlexTab('info', false);
});
it('should show the room info button', () => {
@ -249,11 +249,11 @@ describe('Main Elements Render', function() {
describe('Search Tab', () => {
before(()=> {
flexTab.searchTab.click();
flexTab.operateFlexTab('search', true);
});
after(()=> {
flexTab.searchTab.click();
flexTab.operateFlexTab('search', false);
});
it('should show the message search button', () => {
@ -267,18 +267,20 @@ describe('Main Elements Render', function() {
describe('Members Tab', () => {
before(()=> {
flexTab.membersTab.click();
flexTab.operateFlexTab('members', true);
});
after(()=> {
flexTab.membersTab.click();
flexTab.operateFlexTab('members', false);
});
it('should show the members tab button', () => {
flexTab.membersTab.waitForVisible(5000);
flexTab.membersTab.isVisible().should.be.true;
});
it('should show the members content', () => {
flexTab.membersTabContent.waitForVisible(5000);
flexTab.membersTabContent.isVisible().should.be.true;
});
@ -289,11 +291,11 @@ describe('Main Elements Render', function() {
describe('Notifications Tab', () => {
before(()=> {
flexTab.notificationsTab.click();
flexTab.operateFlexTab('notifications', true);
});
after(()=> {
flexTab.notificationsTab.click();
flexTab.operateFlexTab('notifications', false);
});
it('should show the notifications button', () => {
@ -307,11 +309,11 @@ describe('Main Elements Render', function() {
describe('Files Tab', () => {
before(()=> {
flexTab.filesTab.click();
flexTab.operateFlexTab('files', true);
});
after(()=> {
flexTab.filesTab.click();
flexTab.operateFlexTab('files', false);
});
it('should show the files button', () => {
@ -325,11 +327,11 @@ describe('Main Elements Render', function() {
describe('Mentions Tab', () => {
before(()=> {
flexTab.mentionsTab.click();
flexTab.operateFlexTab('mentions', true);
});
after(()=> {
flexTab.mentionsTab.click();
flexTab.operateFlexTab('mentions', false);
});
it('should show the mentions button', () => {
@ -343,11 +345,11 @@ describe('Main Elements Render', function() {
describe('Starred Messages Tab', () => {
before(()=> {
flexTab.starredTab.click();
flexTab.operateFlexTab('starred', true);
});
after(()=> {
flexTab.starredTab.click();
flexTab.operateFlexTab('starred', false);
});
it('should show the starred messages button', () => {
@ -361,11 +363,11 @@ describe('Main Elements Render', function() {
describe('Pinned Messages Tab', () => {
before(()=> {
flexTab.pinnedTab.click();
flexTab.operateFlexTab('pinned', true);
});
after(()=> {
flexTab.pinnedTab.click();
flexTab.operateFlexTab('pinned', false);
});
it('should show the pinned button', () => {

@ -126,8 +126,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', true);
});
after(()=> {
@ -135,8 +134,8 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', false);
});
it('add people to the room', () => {
@ -152,8 +151,8 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.channelTab.waitForVisible();
flexTab.channelTab.click();
flexTab.operateFlexTab('info', true);
});
after(()=> {
@ -161,7 +160,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.channelTab.waitForVisible(5000);
flexTab.operateFlexTab('info', false);
});
it('should show the old name', ()=> {
@ -191,8 +190,7 @@ describe('channel', ()=> {
describe('Channel topic edit', ()=> {
before(()=> {
flexTab.channelTab.waitForVisible();
flexTab.channelTab.click();
flexTab.operateFlexTab('info', true);
});
after(()=> {
@ -200,8 +198,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.channelTab.waitForVisible();
flexTab.channelTab.click();
flexTab.operateFlexTab('info', false);
});
it('click the edit topic', ()=> {
@ -225,8 +222,7 @@ describe('channel', ()=> {
describe('Channel description edit', ()=> {
before(()=> {
flexTab.channelTab.waitForVisible();
flexTab.channelTab.click();
flexTab.operateFlexTab('info', true);
});
after(()=> {
@ -234,8 +230,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.channelTab.waitForVisible();
flexTab.channelTab.click();
flexTab.operateFlexTab('info', false);
});
it('click the edit description', ()=> {
@ -261,13 +256,11 @@ describe('channel', ()=> {
describe('Members tab usage', () => {
describe('User muted', () => {
before(()=> {
flexTab.membersTab.waitForVisible(5000);
flexTab.membersTab.click();
flexTab.operateFlexTab('members', true);
});
after(()=> {
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', false);
});
it('mute rocket cat', ()=> {
@ -281,8 +274,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', true);
});
after(()=> {
@ -290,8 +282,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', false);
});
it('sets rocket cat as owner', ()=> {
@ -320,8 +311,8 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', true);
});
after(()=> {
@ -329,8 +320,7 @@ describe('channel', ()=> {
Global.dismissToast();
Global.toastAlert.waitForVisible(5000, true);
}
flexTab.membersTab.waitForVisible();
flexTab.membersTab.click();
flexTab.operateFlexTab('members', false);
});
it('sets rocket cat as moderator', ()=> {

@ -130,9 +130,5 @@ describe('user preferences', ()=> {
flexTab.memberRealName.waitForVisible(5000);
flexTab.memberRealName.getText().should.equal('EditedRealName'+username);
});
it('close the flexTab', () => {
flexTab.membersTab.click();
});
});
});

@ -14,6 +14,7 @@ class FlexTab extends Page {
get startAudioCall() { return browser.element('.start-audio-call'); }
get showAll() { return browser.element('.see-all'); }
get membersUserInfo() { return browser.element('.flex-tab-container .info'); }
get avatarImage() { return browser.element('.flex-tab-container .avatar-image'); }
get channelTab() { return browser.element('.flex-tab-bar .tab-button:not(.hidden) .icon-info-circled'); }
get channelSettings() { return browser.element('.channel-settings'); }
@ -107,6 +108,74 @@ class FlexTab extends Page {
browser.click('.-autocomplete-item');
}
operateFlexTab(desiredTab, desiredState) {
//desiredState true=open false=closed
switch (desiredTab) {
case 'info':
if ((!this.channelSettings.isVisible() && desiredState) || (this.channelSettings.isVisible() && !desiredState)) {
this.channelTab.waitForVisible(5000);
this.channelTab.click();
this.channelSettings.waitForVisible(5000, !desiredState);
}
break;
case 'search':
if ((!this.messageSearchBar.isVisible() && desiredState) || (this.messageSearchBar.isVisible() && !desiredState)) {
this.searchTab.waitForVisible(5000);
this.searchTab.click();
this.messageSearchBar.waitForVisible(5000, !desiredState);
}
break;
case 'members':
if ((!this.avatarImage.isVisible() && desiredState) || (this.userSearchBar.isVisible() && !desiredState)) {
this.membersTab.waitForVisible(5000);
this.membersTab.click();
this.avatarImage.waitForVisible(5000, !desiredState);
}
break;
case 'notifications':
if ((!this.notificationsSettings.isVisible() && desiredState) || (this.notificationsSettings.isVisible() && !desiredState)) {
this.notificationsTab.waitForVisible(5000);
this.notificationsTab.click();
this.notificationsSettings.waitForVisible(5000, !desiredState);
}
break;
case 'files':
if ((!this.filesTabContent.isVisible() && desiredState) || (this.filesTabContent.isVisible() && !desiredState)) {
this.filesTab.waitForVisible(5000);
this.filesTab.click();
this.filesTabContent.waitForVisible(5000, !desiredState);
}
break;
case 'mentions':
if ((!this.mentionsTabContent.isVisible() && desiredState) || (this.mentionsTabContent.isVisible() && !desiredState)) {
this.mentionsTab.waitForVisible(5000);
this.mentionsTab.click();
this.mentionsTabContent.waitForVisible(5000, !desiredState);
}
break;
case 'starred':
if ((!this.starredTabContent.isVisible() && desiredState) || (this.starredTabContent.isVisible() && !desiredState)) {
this.starredTab.waitForVisible(5000);
this.starredTab.click();
this.starredTabContent.waitForVisible(5000, !desiredState);
}
break;
case 'pinned':
if ((!this.pinnedTabContent.isVisible() && desiredState) || (this.pinnedTabContent.isVisible() && !desiredState)) {
this.pinnedTab.waitForVisible(5000);
this.pinnedTab.click();
this.pinnedTabContent.waitForVisible(5000, !desiredState);
}
break;
}
}
removePeopleFromChannel(user) {
const userEl = this.getUserEl(user);
userEl.waitForVisible();

Loading…
Cancel
Save