mirror of
https://github.com/wassname/talk.git
synced 2026-06-30 04:37:04 +08:00
168 lines
5.0 KiB
JavaScript
168 lines
5.0 KiB
JavaScript
module.exports = {
|
|
before: client => {
|
|
client.setWindowPosition(0, 0);
|
|
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();
|
|
},
|
|
|
|
'Admin logs in': client => {
|
|
const adminPage = client.page.admin();
|
|
const { testData: { admin } } = client.globals;
|
|
|
|
adminPage.navigateAndLogin(admin);
|
|
},
|
|
'Admin flags users username as offensive': client => {
|
|
const embedStream = client.page.embedStream();
|
|
|
|
const comments = embedStream.navigate().ready();
|
|
|
|
comments
|
|
.waitForElementVisible('@firstComment')
|
|
.waitForElementVisible('@flagButton')
|
|
.click('@flagButton');
|
|
|
|
comments.section.flag
|
|
.waitForElementVisible('@flagUsernameRadio')
|
|
.click('@flagUsernameRadio')
|
|
.waitForElementVisible('@continueButton')
|
|
.click('@continueButton')
|
|
.waitForElementVisible('@offensiveUsernameRadio')
|
|
.click('@offensiveUsernameRadio')
|
|
.click('@continueButton')
|
|
.waitForElementVisible('@popUpText')
|
|
.click('@continueButton');
|
|
},
|
|
'Admin goes to Reported Usernames': client => {
|
|
const adminPage = client.page.admin();
|
|
|
|
const community = adminPage
|
|
.navigate()
|
|
.ready()
|
|
.goToCommunity();
|
|
|
|
community
|
|
.waitForElementVisible('@flaggedAccountsContainer')
|
|
.waitForElementVisible('@flaggedUser');
|
|
},
|
|
'Admin rejects the user flag': client => {
|
|
const community = client.page.admin().section.community;
|
|
|
|
community
|
|
.waitForElementVisible('@flaggedUserRejectButton')
|
|
.click('@flaggedUserRejectButton');
|
|
},
|
|
'Admin suspends the user': client => {
|
|
const community = client.page.admin().section.community;
|
|
const usernameDialog = client.page.admin().section.usernameDialog;
|
|
|
|
usernameDialog
|
|
.waitForElementVisible('@buttons')
|
|
.waitForElementVisible('@step0')
|
|
.waitForElementVisible('@suspend')
|
|
.click('@suspend')
|
|
.waitForElementVisible('@step1')
|
|
.waitForElementVisible('@suspend')
|
|
.click('@suspend');
|
|
|
|
community.waitForElementNotPresent('@flaggedUser');
|
|
},
|
|
'Admin logs out': client => {
|
|
client.page.admin().logout();
|
|
},
|
|
'user logs in': client => {
|
|
const { testData: { user } } = client.globals;
|
|
const embedStream = client.page.embedStream();
|
|
|
|
embedStream
|
|
.navigate()
|
|
.ready()
|
|
.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');
|
|
},
|
|
'user should not be able to comment': client => {
|
|
const embedStream = client.page.embedStream();
|
|
const comments = embedStream.section.comments;
|
|
|
|
comments
|
|
.waitForElementNotPresent('@commentBoxTextarea')
|
|
.waitForElementNotPresent('@commentBoxPostButton');
|
|
},
|
|
'user picks another username': client => {
|
|
const embedStream = client.page.embedStream();
|
|
const comments = embedStream.section.comments;
|
|
const { testData: { user } } = client.globals;
|
|
|
|
comments
|
|
.waitForElementVisible('@changeUsernameInput')
|
|
.setValue('@changeUsernameInput', `${user.username}_alternative`)
|
|
.waitForElementVisible('@changeUsernameSubmitButton')
|
|
.click('@changeUsernameSubmitButton')
|
|
.waitForElementNotPresent('@changeUsernameInput');
|
|
},
|
|
'user should not be able to comment still': client => {
|
|
const embedStream = client.page.embedStream();
|
|
const comments = embedStream.section.comments;
|
|
|
|
comments
|
|
.waitForElementNotPresent('@commentBoxTextarea')
|
|
.waitForElementNotPresent('@commentBoxPostButton');
|
|
},
|
|
'user logs out': client => {
|
|
const embedStream = client.page.embedStream();
|
|
const comments = embedStream.section.comments;
|
|
|
|
comments.logout();
|
|
},
|
|
'Admin accepts the user flag': client => {
|
|
const adminPage = client.page.admin();
|
|
const { testData: { admin } } = client.globals;
|
|
|
|
adminPage.navigateAndLogin(admin);
|
|
|
|
const community = adminPage
|
|
.navigate()
|
|
.ready()
|
|
.goToCommunity();
|
|
|
|
community
|
|
.waitForElementVisible('@flaggedAccountsContainer')
|
|
.waitForElementVisible('@flaggedUser')
|
|
.waitForElementVisible('@flaggedUserApproveButton')
|
|
.click('@flaggedUserApproveButton');
|
|
|
|
client.page.admin().logout();
|
|
},
|
|
'user logs in to check comment': client => {
|
|
const { testData: { user } } = client.globals;
|
|
const embedStream = client.page.embedStream();
|
|
|
|
embedStream
|
|
.navigate()
|
|
.ready()
|
|
.openLoginPopup(popup => popup.login(user));
|
|
},
|
|
'user should be able to comment': client => {
|
|
const embedStream = client.page.embedStream();
|
|
const comments = embedStream.section.comments;
|
|
|
|
comments
|
|
.waitForElementVisible('@commentBoxTextarea')
|
|
.waitForElementVisible('@commentBoxPostButton');
|
|
},
|
|
};
|