mirror of
https://github.com/wassname/talk.git
synced 2026-06-28 16:31:31 +08:00
166 lines
5.2 KiB
JavaScript
166 lines
5.2 KiB
JavaScript
const embedStreamCommands = {
|
|
url: function () {
|
|
return this
|
|
.api.launchUrl;
|
|
},
|
|
ready() {
|
|
return this
|
|
.waitForElementVisible('body', 4000)
|
|
.waitForElementVisible('#coralStreamEmbed > iframe')
|
|
.api.frame('coralStreamEmbed_iframe');
|
|
},
|
|
signUp(user) {
|
|
return this
|
|
.waitForElementVisible('@signInButton', 2000)
|
|
.click('@signInButton')
|
|
.waitForElementVisible('@signInDialog')
|
|
.waitForElementVisible('@registerButton')
|
|
.click('@registerButton')
|
|
.setValue('@signInDialogEmail', user.email)
|
|
.setValue('@signInDialogPassword', user.pass)
|
|
.setValue('@signUpDialogConfirmPassword', user.pass)
|
|
.setValue('@signUpDialogUsername', user.username)
|
|
.waitForElementVisible('@signUpButton')
|
|
.click('@signUpButton')
|
|
.waitForElementVisible('@signInViewTrigger')
|
|
.click('@signInViewTrigger')
|
|
.waitForElementVisible('@logInButton')
|
|
.click('@logInButton')
|
|
.waitForElementVisible('@logoutButton', 5000);
|
|
},
|
|
login(user) {
|
|
return this
|
|
.waitForElementVisible('@signInButton', 2000)
|
|
.click('@signInButton')
|
|
.waitForElementVisible('@signInDialog')
|
|
.waitForElementVisible('@signInDialogEmail')
|
|
.waitForElementVisible('@signInDialogPassword')
|
|
.setValue('@signInDialogEmail', user.email)
|
|
.setValue('@signInDialogPassword', user.pass)
|
|
.waitForElementVisible('@logInButton')
|
|
.click('@logInButton')
|
|
.waitForElementVisible('@logoutButton', 5000);
|
|
},
|
|
logout() {
|
|
return this
|
|
.waitForElementVisible('@logoutButton', 5000)
|
|
.click('@logoutButton')
|
|
.waitForElementVisible('@signInButton', 5000);
|
|
},
|
|
postComment(comment = 'Test Comment') {
|
|
return this
|
|
.waitForElementVisible('@commentBox', 2000)
|
|
.setValue('@commentBox', comment)
|
|
.click('@postButton');
|
|
},
|
|
likeComment() {
|
|
return this
|
|
.waitForElementVisible('@likeButton')
|
|
.click('@likeButton');
|
|
},
|
|
flagComment() {
|
|
return this
|
|
.waitForElementVisible('@flagButton')
|
|
.click('@flagButton');
|
|
},
|
|
flagUsername() {
|
|
return this
|
|
.waitForElementVisible('@flagButton')
|
|
.click('@flagButton');
|
|
},
|
|
getPermalink(fn) {
|
|
return this
|
|
.waitForElementVisible('@permalinkButton')
|
|
.click('@permalinkButton')
|
|
.waitForElementVisible('@permalinkPopUp')
|
|
.getValue('@permalinkInput', (result) => fn(result.value));
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
commands: [embedStreamCommands],
|
|
elements: {
|
|
signInButton: {
|
|
selector: '#coralSignInButton'
|
|
},
|
|
signInDialog:{
|
|
selector: '#signInDialog'
|
|
},
|
|
signInDialogEmail: {
|
|
selector: '#signInDialog #email'
|
|
},
|
|
signInDialogPassword: {
|
|
selector: '#signInDialog #password'
|
|
},
|
|
signUpDialogConfirmPassword: {
|
|
selector: '#signInDialog #confirmPassword'
|
|
},
|
|
signUpDialogUsername: {
|
|
selector: '#signInDialog #username'
|
|
},
|
|
logInButton: {
|
|
selector: '#coralLogInButton'
|
|
},
|
|
signUpButton: {
|
|
selector: '#coralSignUpButton'
|
|
},
|
|
signInViewTrigger: {
|
|
selector: '#coralSignInViewTrigger'
|
|
},
|
|
logoutButton: {
|
|
selector: '#coralStream #logout'
|
|
},
|
|
commentBox: {
|
|
selector: '.coral-plugin-commentbox-textarea'
|
|
},
|
|
postButton: {
|
|
selector: '#commentBox .coral-plugin-commentbox-button'
|
|
},
|
|
likeButton: {
|
|
selector: '.embed__stream .comment .coral-plugin-likes-container .coral-plugin-likes-button'
|
|
},
|
|
likeText: {
|
|
selector: '.embed__stream .comment .coral-plugin-likes-container .coral-plugin-likes-button .coral-plugin-likes-button-text'
|
|
},
|
|
likesCount: {
|
|
selector: '.embed__stream .comment .coral-plugin-likes-container .coral-plugin-likes-button .coral-plugin-likes-like-count'
|
|
},
|
|
flagButton: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-container .coral-plugin-flags-button'
|
|
},
|
|
flagPopUp: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-popup'
|
|
},
|
|
flagCommentOption: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-popup .coral-plugin-flags-popup-radio-label[for="COMMENTS"]'
|
|
},
|
|
flagUsernameOption: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-popup .coral-plugin-flags-popup-radio-label[for="USERS"]'
|
|
},
|
|
flagOtherOption: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-popup .coral-plugin-flags-popup-radio-label[for="other"]'
|
|
},
|
|
flagHeaderMessage: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-popup .coral-plugin-flags-popup-header'
|
|
},
|
|
flagButtonText: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-button-text'
|
|
},
|
|
flagDoneButton: {
|
|
selector: '.embed__stream .comment .coral-plugin-flags-popup .coral-plugin-flags-popup-button'
|
|
},
|
|
permalinkButton: {
|
|
selector: '.embed__stream .comment .coral-plugin-permalinks-button'
|
|
},
|
|
permalinkPopUp: {
|
|
selector: '.embed__stream .comment .coral-plugin-permalinks-popover.active'
|
|
},
|
|
permalinkInput: {
|
|
selector: '.embed__stream .comment .coral-plugin-permalinks-popover.active input'
|
|
},
|
|
registerButton: {
|
|
selector: '#signInDialog #coralRegister'
|
|
}
|
|
}
|
|
};
|