Embed can remove best tag

This commit is contained in:
Benjamin Goering
2017-02-28 15:55:19 +08:00
parent 98f3033326
commit bce84f24fd
4 changed files with 35 additions and 21 deletions
@@ -139,9 +139,10 @@ export const addCommentTag = graphql(ADD_COMMENT_TAG, {
export const removeCommentTag = graphql(REMOVE_COMMENT_TAG, {
props: ({mutate}) => ({
removeCommentTag: (tag) => {
removeCommentTag: ({id, tag}) => {
return mutate({
variables: {
id,
tag
}
});
@@ -1,10 +1,11 @@
mutation RemoveCommentTag ($comment_id: ID!, $tag: String!) {
removeCommentTag(comment_id:$comment_id, tag:$tag) {
comment {
tags {
name
}
}
mutation RemoveCommentTag ($id: ID!, $tag: String!) {
removeCommentTag(id:$id, tag:$tag) {
comment {
id
tags {
name
}
}
errors {
translation_key
}
+2 -4
View File
@@ -54,8 +54,7 @@ export class BestButton extends Component {
console.warn('BestButton#onClickAddBest called even though there is no addBest prop. doing nothing');
return;
}
const addBestRet = await addBest();
console.log('addBestRet', addBestRet);
await addBest();
}
async onClickRemoveBest(e) {
@@ -65,8 +64,7 @@ export class BestButton extends Component {
console.warn('BestButton#onClickAddBest called even though there is no removeBest prop. doing nothing');
return;
}
const removeBestRet = await removeBest();
console.log('removeBestRet', removeBestRet);
await removeBest();
}
render() {
+23 -9
View File
@@ -11,24 +11,38 @@ module.exports = {
embedStreamPage
.login(users.moderator);
},
'Moderator marks their comment as BEST': client => {
'Moderator marks/unmarks their comment as BEST': client => {
const embedStreamPage = client.page.embedStreamPage();
const setBestCommentButton = '@setBestButton';
const unsetBestCommentButton = '@unsetBestButton';
const setBestCommentButton = '.e2e__set-best-comment';
const unsetBestCommentButton = '.e2e__unset-best-comment';
embedStreamPage
.postComment('Hi everyone. Isn\'t this the BEST comment!?')
.postComment(`Hi everyone. Isn't this the BEST comment!? ${String(Math.random()).slice(2)}`)
.waitForElementVisible(setBestCommentButton, 2000)
.click(setBestCommentButton)
.waitForElementVisible(unsetBestCommentButton, 2000, () => {
client.assert.elementNotPresent(setBestCommentButton);
});
.waitForElementVisible(unsetBestCommentButton, 2000);
// on refresh, it should still be tagged as best :)
client.refresh();
client.page.embedStreamPage().ready()
.waitForElementVisible('.e2e__unset-best-comment', 2000);
embedStreamPage.ready()
// (bengo) I have no idea why, but if the selector here is '@unsetBestButton', it doesn't find it... I think nightwatch bug?
// this is why I am not using @elements. Advice appreciated.
.waitForElementVisible(unsetBestCommentButton, 2000);
// now remove the best tag
embedStreamPage
.click(unsetBestCommentButton);
embedStreamPage
.waitForElementVisible(setBestCommentButton, 2000);
// on refresh it should still be untagged best
client.refresh();
embedStreamPage.ready()
.waitForElementVisible(setBestCommentButton);
},
after: client => {
client.end();