Adding suspension test

This commit is contained in:
Belen Curcio
2017-11-10 10:26:54 -03:00
parent b0573749ee
commit ebda51dc0f
3 changed files with 138 additions and 0 deletions
+16
View File
@@ -14,6 +14,12 @@ module.exports = {
this.expect.section('@drawer').to.be.visible;
return this.section.drawer;
},
goToModerate() {
this
.click('@moderateNav')
.expect.section('@moderate').to.be.visible;
return this.section.stories;
},
goToStories() {
this
.click('@storiesNav')
@@ -45,12 +51,22 @@ module.exports = {
'drawerOverlay': 'div.mdl-layout__obfuscator.is-visible',
'storiesNav': '.talk-admin-nav-stories',
'communityNav': '.talk-admin-nav-community',
'moderateNav': '.talk-admin-nav-moderate',
'settingsButton': '.talk-admin-header-settings-button',
'signOutButton': '.talk-admin-header-sign-out',
},
sections: {
moderate: {
selector: '.talk-admin-moderation-container',
elements: {
suspendUserDialog: '.talk-admin-suspend-user-dialog',
suspendUserConfirmButton: 'talk-admin-suspend-user-dialog-confirm',
supendUserSendButton: 'talk-admin-suspend-user-dialog-send',
comment: '.talk-admin-moderate-comment',
commentActionMenu: '.talk-admin-moderate-comment-actions-menu',
actionItemSuspendUser: '.talk-admin-moderate-comment-actions-menu .action-menu-item#supendUser',
actionMenuButton: '.talk-admin-moderate-comment-actions-menu #actions-dropdown-0'
}
},
stories: {
selector: '.talk-admin-stories',
+2
View File
@@ -117,8 +117,10 @@ module.exports = {
elements: {
offensiveUsernameRadio: '.talk-plugin-flags-popup-radio#USERNAME_OFFENSIVE',
flagUsernameRadio: '.talk-plugin-flags-popup-radio#USERS',
flagCommentRadio: '.talk-plugin-flags-popup-radio#COMMENTS',
continueButton: '.talk-plugin-flags-popup-button',
popUpText: '.talk-plugin-flags-popup-text',
spamCommentRadio: '.talk-plugin-flags-popup-radio#COMMENT_SPAM',
}
},
mod: {
+120
View File
@@ -0,0 +1,120 @@
module.exports = {
before: (client) => {
client.resizeWindow(1600, 1200);
},
afterEach: (client, done) => {
if (client.currentTest.results.failed) {
throw new Error('Test Case failed, skipping all the rest');
}
done();
},
after: (client) => {
client.end();
},
'user logs in': (client) => {
const {testData: {user}} = client.globals;
const comments = client.page.embedStream().section.comments;
comments
.openLoginPopup((popup) => popup.login(user));
},
'user posts comment': (client) => {
const comments = client.page.embedStream().section.comments;
const {testData: {comment}} = client.globals;
comments
.waitForElementVisible('@commentBoxTextarea')
.setValue('@commentBoxTextarea', comment.body)
.waitForElementVisible('@commentBoxPostButton')
.click('@commentBoxPostButton')
.waitForElementVisible('@firstCommentContent')
.getText('@firstCommentContent', (result) => {
comments.assert.equal(result.value, comment.body);
});
},
'user logs out': (client) => {
const embedStream = client.page.embedStream();
const comments = embedStream.section.comments;
comments
.logout();
},
'admin logs in': (client) => {
const adminPage = client.page.admin();
const {testData: {admin}} = client.globals;
adminPage.navigateAndLogin(admin);
},
'navigate to the embed stream': (client) => {
const embedStream = client.page.embedStream();
embedStream
.navigate()
.ready();
},
'admin reports comment': (client) => {
const embedStream = client.page.embedStream();
const comments = embedStream.section.comments;
comments
.waitForElementVisible('@firstComment')
.waitForElementVisible('@flagButton')
.click('@flagButton');
comments.section.flag
.waitForElementVisible('@flagCommentRadio')
.click('@flagCommentRadio')
.waitForElementVisible('@continueButton')
.click('@continueButton')
.waitForElementVisible('@spamCommentRadio')
.click('@spamCommentRadio')
.click('@continueButton')
.waitForElementVisible('@popUpText')
.click('@continueButton');
},
'admin suspends user': (client) => {
const adminPage = client.page.admin();
const moderate = adminPage.section.moderate;
adminPage
.navigate()
.ready()
.goToModerate();
moderate
.waitForElementVisible('@comment')
.waitForElementVisible('@commentActionMenu')
.waitForElementVisible('@actionMenuButton')
.click('@actionMenuButton')
.waitForElementVisible('@actionItemSuspendUser')
.click('@actionItemSuspendUser')
.waitForElementVisible('@suspendUserDialog')
.waitForElementVisible('@suspendUserConfirmButton')
.click('@suspendUserConfirmButton')
.waitForElementVisible('@supendUserSendButton')
.click('@supendUserSendButton');
},
'admin logs out': (client) => {
const comments = client.page.embedStream().section.comments;
comments
.logout();
},
'user logs in (2)': (client) => {
const {testData: {user}} = client.globals;
const comments = client.page.embedStream().section.comments;
comments
.openLoginPopup((popup) => popup.login(user));
},
'user account is suspended, should see restricted message box': (client) => {
const embedStream = client.page.embedStream();
const comments = embedStream.section.comments;
comments
.waitForElementVisible('@restrictedMessageBox');
},
};