diff --git a/packages/rocketchat-lib/client/lib/RocketChatTabBar.js b/packages/rocketchat-lib/client/lib/RocketChatTabBar.js index d2cc8d07856..914ccd26357 100644 --- a/packages/rocketchat-lib/client/lib/RocketChatTabBar.js +++ b/packages/rocketchat-lib/client/lib/RocketChatTabBar.js @@ -1,6 +1,7 @@ export class RocketChatTabBar { constructor() { this.template = new ReactiveVar(); + this.id = new ReactiveVar(); this.group = new ReactiveVar(); this.state = new ReactiveVar(); this.data = new ReactiveVar(); @@ -10,6 +11,10 @@ export class RocketChatTabBar { return this.template.get(); } + getId() { + return this.id.get(); + } + setTemplate(template) { this.template.set(template); } @@ -37,6 +42,7 @@ export class RocketChatTabBar { getState() { return this.state.get(); } + open(button) { this.state.set('opened'); Tracker.afterFlush(() => { @@ -51,6 +57,7 @@ export class RocketChatTabBar { } $('.flex-tab, .contextual-bar').css('width', button.width ? `${ button.width }px` : ''); this.template.set(button.template); + this.id.set(button.id); } close() { @@ -59,5 +66,6 @@ export class RocketChatTabBar { $('.flex-tab, .contextual-bar').css('width', ''); this.template.set(); + this.id.set(); } } diff --git a/packages/rocketchat-ui-flextab/client/tabs/userActions.js b/packages/rocketchat-ui-flextab/client/tabs/userActions.js index 3006a91a992..fc60cfcb35f 100644 --- a/packages/rocketchat-ui-flextab/client/tabs/userActions.js +++ b/packages/rocketchat-ui-flextab/client/tabs/userActions.js @@ -447,6 +447,7 @@ export const getActions = function({ user, directActions, hideAdminControls }) { return { group: 'admin', icon : 'user', + id: 'deactivate', name: t('Deactivate'), modifier: 'alert', action: prevent(getUser, ({_id}) => Meteor.call('setUserActiveStatus', _id, false, success(() => toastr.success(t('User_has_been_deactivated'))))) @@ -455,6 +456,7 @@ export const getActions = function({ user, directActions, hideAdminControls }) { return { group: 'admin', icon: 'user', + id: 'activate', name: t('Activate'), action: prevent(getUser, ({_id}) => Meteor.call('setUserActiveStatus', _id, true, success(() => toastr.success(t('User_has_been_activated'))))) }; diff --git a/packages/rocketchat-ui/client/components/contextualBar.html b/packages/rocketchat-ui/client/components/contextualBar.html index f8893c93540..9d1d8fd7a40 100644 --- a/packages/rocketchat-ui/client/components/contextualBar.html +++ b/packages/rocketchat-ui/client/components/contextualBar.html @@ -13,7 +13,7 @@ {{> icon block="contextual-bar__header-close-icon" icon="plus"}} -
+
{{> Template.dynamic template=template data=flexData}}
diff --git a/packages/rocketchat-ui/client/components/contextualBar.js b/packages/rocketchat-ui/client/components/contextualBar.js index 864d4827a6d..6a519158790 100644 --- a/packages/rocketchat-ui/client/components/contextualBar.js +++ b/packages/rocketchat-ui/client/components/contextualBar.js @@ -9,6 +9,9 @@ Template.contextualBar.onCreated(function() { }); Template.contextualBar.helpers({ + id() { + return Template.instance().tabBar.getId(); + }, template() { return Template.instance().tabBar.getTemplate(); }, diff --git a/tests/end-to-end/ui/04-main-elements-render.js b/tests/end-to-end/ui/04-main-elements-render.js index 9a4e3e09444..8844506ea5b 100644 --- a/tests/end-to-end/ui/04-main-elements-render.js +++ b/tests/end-to-end/ui/04-main-elements-render.js @@ -213,8 +213,8 @@ describe('[Main Elements Render]', function() { }); it('it should show the room name', ()=> { - flexTab.firstSetting.waitForVisible(); - flexTab.firstSetting.getText().should.equal('general'); + flexTab.channelSettingName.waitForVisible(); + flexTab.channelSettingName.getAttribute('title').should.equal('general'); }); }); @@ -263,15 +263,17 @@ describe('[Main Elements Render]', function() { describe('Notifications Tab:', () => { before(()=> { + flexTab.moreActions.click(); flexTab.operateFlexTab('notifications', true); }); after(()=> { + flexTab.moreActions.click(); flexTab.operateFlexTab('notifications', false); }); - it('it should show the notifications button', () => { - flexTab.notificationsTab.isVisible().should.be.true; + it('it should not show the notifications button', () => { + flexTab.notificationsTab.isVisible().should.be.false; }); it('it should show the notifications Tab content', () => { diff --git a/tests/end-to-end/ui/11-admin.js b/tests/end-to-end/ui/11-admin.js index 11e3d7148ef..14a3254e87d 100644 --- a/tests/end-to-end/ui/11-admin.js +++ b/tests/end-to-end/ui/11-admin.js @@ -590,20 +590,20 @@ describe('[Administration]', () => { admin.generalGoogleTagIdReset.click(); }); - it('it should show bugsnag key field', () => { + it.skip('it should show bugsnag key field', () => { admin.generalBugsnagKey.isVisible().should.be.true; }); - it('it should change bugsnag key id field', () => { + it.skip('it should change bugsnag key id field', () => { admin.generalBugsnagKey.setValue('something'); }); - it('it should show the reset button', () => { + it.skip('it should show the reset button', () => { admin.generalBugsnagKeyReset.waitForVisible(5000); admin.generalBugsnagKeyReset.isVisible().should.be.true; }); - it('it should click the reset button', () => { + it.skip('it should click the reset button', () => { admin.generalBugsnagKeyReset.click(); }); }); diff --git a/tests/end-to-end/ui/12-settings.js b/tests/end-to-end/ui/12-settings.js index f1b43a1ab52..1ad96e24c3e 100644 --- a/tests/end-to-end/ui/12-settings.js +++ b/tests/end-to-end/ui/12-settings.js @@ -492,6 +492,7 @@ describe('[Api Settings Change]', () => { }); it('it should show the activate user btn', () => { + flexTab.moreActions.click(); flexTab.usersActivate.waitForVisible(5000); flexTab.usersActivate.isVisible().should.be.true; }); @@ -501,8 +502,10 @@ describe('[Api Settings Change]', () => { }); it('it should show the deactivate btn', () => { + flexTab.moreActions.click(); flexTab.usersDeactivate.waitForVisible(5000); flexTab.usersDeactivate.isVisible().should.be.true; + mainContent.popoverWrapper.click(); }); it('it should change the Manually Approve New Users via api', (done) => { diff --git a/tests/pageobjects/flex-tab.page.js b/tests/pageobjects/flex-tab.page.js index d13173eab96..b6add0dff6f 100644 --- a/tests/pageobjects/flex-tab.page.js +++ b/tests/pageobjects/flex-tab.page.js @@ -6,6 +6,7 @@ class FlexTab extends Page { // Channel Info Tab get channelTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--info-circled'); } get channelSettings() { return browser.element('.channel-settings'); } + get channelSettingName() { return browser.element('.channel-settings .rc-user-info__name'); } get archiveBtn() { return browser.element('.clearfix:last-child .icon-pencil'); } get archiveRadio() { return browser.element('.editing'); } get archiveSave() { return browser.element('.save'); } @@ -48,11 +49,11 @@ class FlexTab extends Page { get searchResult() { return browser.element('.new-day'); } // Notifications Tab - get notificationsTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--bell'); } + get notificationsTab() { return browser.element('.rc-popover__item[data-id=push-notifications]'); } get notificationsSettings() { return browser.element('.push-notifications'); } // Files Tab - get filesTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--clip'); } + get filesTab() { return browser.element('.rc-popover__item[data-id=uploaded-files-list]'); } get fileItem() { return browser.element('.uploaded-files-list ul:first-child'); } get filesTabContent() { return browser.element('.uploaded-files-list'); } get fileDelete() { return browser.element('.uploaded-files-list ul:first-child .file-delete'); } @@ -60,15 +61,15 @@ class FlexTab extends Page { get fileName() { return browser.element('.uploaded-files-list ul:first-child .room-file-item'); } // Mentions Tab - get mentionsTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--at'); } + get mentionsTab() { return browser.element('.rc-popover__item[data-id=mentions]'); } get mentionsTabContent() { return browser.element('.mentioned-messages-list'); } // Starred Tab - get starredTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--star'); } + get starredTab() { return browser.element('.rc-popover__item[data-id=starred-messages]'); } get starredTabContent() { return browser.element('.starred-messages-list'); } // Pinned Tab - get pinnedTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--pin'); } + get pinnedTab() { return browser.element('.rc-popover__item[data-id=pinned-messages]'); } get pinnedTabContent() { return browser.element('.pinned-messages-list'); } get firstSetting() { return browser.element('.clearfix li:nth-child(1) .current-setting'); } @@ -96,10 +97,9 @@ class FlexTab extends Page { get usersAddUserRandomPassword() { return browser.element('#randomPassword'); } get emojiNewAliases() { return browser.element('#aliases'); } get emojiNewImageInput() { return browser.element('#image'); } - get usersView() { return browser.element('.user-view'); } - get usersEditUser() { return browser.element('.user-view .edit-user'); } - get usersActivate() { return browser.element('.button.activate'); } - get usersDeactivate() { return browser.element('.button.deactivate'); } + get usersView() { return browser.element('.rc-user-info-action'); } + get usersActivate() { return browser.element('.rc-popover__item[data-id=activate]'); } + get usersDeactivate() { return browser.element('.rc-popover__item[data-id=deactivate]'); } getUserEl(username) { return browser.element(`.flex-tab button[title="${ username }"] > p`); }