mirror of
https://github.com/wassname/talk.git
synced 2026-06-30 09:06:46 +08:00
Adding suspension test
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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');
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user