Skip to content

Commit

Permalink
Merge pull request #4713 from RocketChat/channel-tests
Browse files Browse the repository at this point in the history
added channel settings tests
  • Loading branch information
engelgabriel committed Oct 24, 2016
2 parents 9a64b7a + d1a0d2b commit 0bba3eb
Show file tree
Hide file tree
Showing 13 changed files with 1,495 additions and 438 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ <h2>{{_ "Room_Info"}}</h2>
{{#if editing $key}}
<input type="text" name="{{$key}}" value="{{value}}" class="editing" />
{{else}}
<span>{{value}}</span>
<span class='current-setting'>{{value}}</span>
{{/if}}
{{/if}}

{{#if $eq $value.type 'markdown'}}
{{#if editing $key}}
<input type="text" name="{{$key}}" value="{{unscape value}}" class="editing" />
{{else}}
<span>{{{RocketChatMarkdown value}}}</span>
<span class='current-setting'>{{{RocketChatMarkdown value}}}</span>
{{/if}}
{{/if}}

Expand All @@ -39,7 +39,7 @@ <h2>{{_ "Room_Info"}}</h2>
</label>
{{/each}}
{{else}}
<span>{{_ (valueOf $value.options value)}}</span>
<span class='current-setting'>{{_ (valueOf $value.options value)}}</span>
{{/if}}
{{/if}}

Expand All @@ -55,9 +55,9 @@ <h2>{{_ "Room_Info"}}</h2>
</label>
{{else}}
{{#if value}}
<span>{{_ 'True'}}</span>
<span class='current-setting'>{{_ 'True'}}</span>
{{else}}
<span>{{_ 'False'}}</span>
<span class='current-setting'>{{_ 'False'}}</span>
{{/if}}
{{/if}}
{{/if}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ <h2>{{_ "Notifications"}}</h2>
<button type="button" class="button secondary cancel">{{_ "Cancel"}}</button>
<button type="button" class="button primary save">{{_ "Save"}}</button>
{{else}}
<span>{{subValue 'desktopNotifications'}} <i class="icon-pencil" data-edit="desktopNotifications"></i></span>
<span class="current-setting">{{subValue 'desktopNotifications'}} <i class="icon-pencil" data-edit="desktopNotifications"></i></span>
{{/if}}
</div>
</li>
{{#unless editing 'desktopNotifications'}}
<li>
<label>{{_ "Desktop_Notifications_Duration"}}</label>
<div>
<span>{{#if desktopNotificationDuration}}{{desktopNotificationDuration}} {{_"seconds"}}{{else}}{{_ "Use_User_Preferences_or_Global_Settings"}}{{/if}}</span>
<span class="current-setting">{{#if desktopNotificationDuration}}{{desktopNotificationDuration}} {{_"seconds"}}{{else}}{{_ "Use_User_Preferences_or_Global_Settings"}}{{/if}}</span>
</div>
</li>
{{/unless}}
Expand All @@ -45,7 +45,7 @@ <h2>{{_ "Notifications"}}</h2>
<button type="button" class="button secondary cancel">{{_ "Cancel"}}</button>
<button type="button" class="button primary save">{{_ "Save"}}</button>
{{else}}
<span>{{subValue 'mobilePushNotifications'}} <i class="icon-pencil" data-edit="mobilePushNotifications"></i></span>
<span class="current-setting">{{subValue 'mobilePushNotifications'}} <i class="icon-pencil" data-edit="mobilePushNotifications"></i></span>
{{/if}}
</div>
</li>
Expand All @@ -62,7 +62,7 @@ <h2>{{_ "Notifications"}}</h2>
<button type="button" class="button secondary cancel">{{_ "Cancel"}}</button>
<button type="button" class="button primary save">{{_ "Save"}}</button>
{{else}}
<span>{{subValue 'emailNotifications'}} <i class="icon-pencil" data-edit="emailNotifications"></i></span>
<span class="current-setting">{{subValue 'emailNotifications'}} <i class="icon-pencil" data-edit="emailNotifications"></i></span>
{{/if}}
</div>
</li>
Expand All @@ -83,7 +83,7 @@ <h2>{{_ "Notifications"}}</h2>
<button type="button" class="button secondary cancel">{{_ "Cancel"}}</button>
<button type="button" class="button primary save">{{_ "Save"}}</button>
{{else}}
<span>{{unreadAlertText}} <i class="icon-pencil" data-edit="unreadAlert"></i></span>
<span class="current-setting">{{unreadAlertText}} <i class="icon-pencil" data-edit="unreadAlert"></i></span>
{{/if}}
</div>
</li>
Expand Down
49 changes: 48 additions & 1 deletion tests/pageobjects/flex-tab.page.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ class FlexTab extends Page {
get membersTabContent() { return browser.element('.animated'); }
get userSearchBar() { return browser.element('#user-add-search'); }
get removeUserBtn() { return browser.element('.remove-user'); }
get setOwnerBtn() { return browser.element('.set-owner'); }
get setModeratorBtn() { return browser.element('.set-moderator'); }
get muteUserBtn() { return browser.element('.mute-user'); }
get viewAllBtn() { return browser.element('.button.secondary.back'); }
get startVideoCall() { return browser.element('.start-video-call'); }
get startAudioCall() { return browser.element('.start-audio-call'); }
get showAll() { return browser.element('.see-all'); }
Expand Down Expand Up @@ -39,6 +43,22 @@ class FlexTab extends Page {
get archiveBtn() { return browser.element('.clearfix:last-child .icon-pencil'); }
get archiveRadio() { return browser.element('.editing'); }
get archiveSave() { return browser.element('.save'); }
get editNameBtn() { return browser.element('[data-edit="name"]'); }
get editTopicBtn() { return browser.element('[data-edit="topic"]'); }
get editDescriptionBtn() { return browser.element('[data-edit="description"]'); }
get editNotificationBtn() { return browser.element('[data-edit="desktopNotifications"]'); }
get editMobilePushBtn() { return browser.element('[data-edit="mobilePushNotifications"]'); }
get editEmailNotificationBtn() { return browser.element('[data-edit="emailNotifications"]'); }
get editUnreadAlertBtn() { return browser.element('[data-edit="unreadAlert"]'); }

get editNameTextInput() { return browser.element('.channel-settings input[name="name"]'); }
get editTopicTextInput() { return browser.element('.channel-settings input[name="topic"]'); }
get editDescriptionTextInput() { return browser.element('.channel-settings input[name="description"]'); }
get firstSetting() { return browser.element('.clearfix li:nth-child(1) .current-setting'); }
get secondSetting() { return browser.element('.clearfix li:nth-child(2) .current-setting'); }
get thirdSetting() { return browser.element('.clearfix li:nth-child(3) .current-setting'); }
get editNameTextInput() { return browser.element('.channel-settings input[name="name"]'); }
get editNameSave() { return browser.element('.channel-settings .save'); }

get confirmBtn() { return browser.element('.confirm'); }

Expand All @@ -60,7 +80,7 @@ class FlexTab extends Page {
addPeopleToChannel(user) {
this.userSearchBar.waitForVisible();
this.userSearchBar.setValue(user);
browser.waitForVisible('.-autocomplete-item', 2000);
browser.waitForVisible('.-autocomplete-item', 5000);
browser.click('.-autocomplete-item');
}

Expand All @@ -71,6 +91,33 @@ class FlexTab extends Page {
browser.pause(300);
this.removeUserBtn.click();
}

setUserOwner(user) {
const userEl = browser.element('.flex-tab button[title="'+user+'"]');
userEl.waitForVisible();
userEl.click();
browser.pause(300);
this.setOwnerBtn.waitForVisible(5000);
this.setOwnerBtn.click();
this.viewAllBtn.click();
}

setUserModerator(user) {
const userEl = browser.element('.flex-tab button[title="'+user+'"]');
userEl.waitForVisible();
userEl.click();
browser.pause(300);
this.setModeratorBtn.click();
this.viewAllBtn.click();
}

muteUser(user) {
const userEl = browser.element('.flex-tab button[title="'+user+'"]');
userEl.waitForVisible();
userEl.click();
browser.pause(300);
this.muteUserBtn.click();
}
}

module.exports = new FlexTab();
108 changes: 107 additions & 1 deletion tests/pageobjects/main-content.page.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import Page from './Page';

class MainContent extends Page {

get mainContent() { return browser.element('.main-content'); }
get messageInput() { return browser.element('.input-message'); }
get sendBtn() { return browser.element('.message-buttons.send-button'); }
get emptyFavoriteStar() { return browser.element('.toggle-favorite .icon-star-empty'); }
Expand All @@ -16,27 +17,132 @@ class MainContent extends Page {
get popupFilePreview() { return browser.element('.upload-preview-file'); }
get popupFileTitle() { return browser.element('.upload-preview-title'); }
get popupFileCancelBtn() { return browser.element('.sa-button-container .cancel'); }
get lastMessageUser() { return browser.element('.message:last-child .user-card-message:nth-of-type(2)'); }
get lastMessage() { return browser.element('.message:last-child .body'); }
get beforeLastMessage() { return browser.element('.message:nth-last-child(2) .body'); }
get lastMessageUserTag() { return browser.element('.message:last-child .role-tag'); }
get lastMessageImg() { return browser.element('.message:last-child .attachment-image img'); }
get lastMessageTextAttachment() { return browser.element('.message:last-child .attachment-text'); }
get messageOptionsBtn() { return browser.element('.message:last-child .info .message-cog-container .icon-cog'); }
get messageReply() { return browser.element('.message:last-child .message-dropdown .reply-message'); }
get messageActionMenu() { return browser.element('.message:last-child .message-dropdown'); }
get messageEdit() { return browser.element('.message:last-child .message-dropdown .edit-message'); }
get messageDelete() { return browser.element('.message:last-child .message-dropdown .delete-message'); }
get messagePermalink() { return browser.element('.message:last-child .message-dropdown .permalink'); }
get messageCopy() { return browser.element('.message:last-child .message-dropdown .copy'); }
get messageQuote() { return browser.element('.message:last-child .message-dropdown .quote-message'); }
get messageStar() { return browser.element('.message:last-child .message-dropdown .star-message'); }
get messageUnread() { return browser.element('.message:last-child .message-dropdown .mark-message-as-unread'); }
get messageReaction() { return browser.element('.message:last-child .message-dropdown .reaction-message'); }
get messagePin() { return browser.element('.message:last-child .message-dropdown .pin-message'); }
get messageClose() { return browser.element('.message:last-child .message-dropdown .message-dropdown-close'); }
get emojiPickerMainScreen() { return browser.element('.emoji-picker'); }
get emojiPickerPeopleIcon() { return browser.element('.emoji-picker .icon-people'); }
get emojiPickerNatureIcon() { return browser.element('.emoji-picker .icon-nature'); }
get emojiPickerFoodIcon() { return browser.element('.emoji-picker .icon-food'); }
get emojiPickerActivityIcon() { return browser.element('.emoji-picker .icon-activity'); }
get emojiPickerTravelIcon() { return browser.element('.emoji-picker .icon-travel'); }
get emojiPickerObjectsIcon() { return browser.element('.emoji-picker .icon-objects'); }
get emojiPickerSymbolsIcon() { return browser.element('.emoji-picker .icon-symbols'); }
get emojiPickerFlagsIcon() { return browser.element('.emoji-picker .icon-flags'); }
get emojiPickerModifierIcon() { return browser.element('.emoji-picker .icon-symbols'); }
get emojiPickerChangeTone() { return browser.element('.emoji-picker .change-tone'); }
get emojiPickerCustomIcon() { return browser.element('.emoji-picker .icon-rocket'); }
get emojiPickerRecentIcon() { return browser.element('.emoji-picker .icon-recent'); }
get emojiPickerFilter() { return browser.element('.emoji-picker .emoji-filter'); }
get emojiPickerEmojiContainer() { return browser.element('.emoji-picker .emojis'); }
get emojiGrinning() { return browser.element('.emoji-picker .emoji-grinning'); }
get emojiSmile() { return browser.element('.emoji-picker .emoji-smile'); }
get messagePopUp() { return browser.element('.message-popup'); }
get messagePopUpTitle() { return browser.element('.message-popup-title'); }
get messagePopUpItems() { return browser.element('.message-popup-items'); }
get messagePopUpFirstItem() { return browser.element('.popup-item.selected'); }

sendMessage(text) {
this.messageInput.setValue(text);
this.setTextToInput(text);
this.sendBtn.click();
browser.waitUntil(function() {
return browser.getText('.message:last-child .body') === text;
}, 2000);
}

addTextToInput(text) {
this.messageInput.waitForVisible(5000);
this.messageInput.addValue(text);
}

setTextToInput(text) {
this.messageInput.waitForVisible(5000);
this.messageInput.setValue(text);
}

//uploads a file in the given filepath (url).
fileUpload(filePath) {
this.sendMessage('Prepare for the file');
this.fileAttachment.chooseFile(filePath);
browser.pause(1000);
}

openMessageActionMenu() {
this.lastMessage.moveToObject();
this.messageOptionsBtn.click();
}

//do one of the message actions, based on the "action" parameter inserted.
selectAction(action) {
switch (action) {
case 'edit':
this.messageEdit.waitForVisible(5000);
this.messageEdit.click();
browser.pause(1000);
this.messageInput.addValue('this message was edited');
break;
case 'reply':
this.messageReply.waitForVisible(5000);
this.messageReply.click();
browser.pause(1000);
this.messageInput.addValue(' this is a reply message');
break;
case 'delete':
this.messageDelete.waitForVisible(5000);
this.messageDelete.click();
break;
case 'permalink':
this.messagePermalink.waitForVisible(5000);
this.messagePermalink.click();
break;
case 'copy':
this.messageCopy.waitForVisible(5000);
this.messageCopy.click();
break;
case 'quote':
this.messageQuote.waitForVisible(5000);
this.messageQuote.click();
browser.pause(1000);
this.messageInput.addValue(' this is a quote message');
break;
case 'star':
this.messageStar.waitForVisible(5000);
this.messageStar.click();
break;
case 'unread':
this.messageUnread.waitForVisible(5000);
this.messageUnread.click();
break;
case 'reaction':
this.messageReply.waitForVisible(5000);
this.messageReply.click();
this.emojiPickerMainScreen.waitForVisible(5000);
this.emojiPickerPeopleIcon.click();
this.emojiGrinning.waitForVisible(5000);
this.emojiGrinning.click();
break;
case 'close':
this.messageClose.waitForVisible(5000);
this.messageClose.click();
break;
}
}
}

module.exports = new MainContent();
7 changes: 7 additions & 0 deletions tests/pageobjects/side-nav.page.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ class SideNav extends Page {
get statusOffline() { return browser.element('.offline'); }
get account() { return browser.element('#account'); }
get logout() { return browser.element('#logout'); }
get sideNavBar() { return browser.element('.side-nav '); }
get sideNavBtn() { return browser.element('.fixed-title .burger'); }

get preferences() { return browser.element('.account-link:nth-of-type(1)'); }
get profile() { return browser.element('.account-link:nth-of-type(2)'); }
get avatar() { return browser.element('.account-link:nth-of-type(3)'); }
get preferencesClose() { return browser.element('.side-nav .arrow.close'); }

openChannel(channelName) {
browser.click('.rooms-list > .wrapper > ul [title="'+channelName+'"]');
Expand Down
Loading

0 comments on commit 0bba3eb

Please sign in to comment.