Commit 589c8d56 authored by Samantha Ming's avatar Samantha Ming Committed by Kushal Pandya

Hide resolve thread button from guest

- Show if user can_resolve all of the notes
parent 42b8e683
......@@ -35,6 +35,13 @@ export default {
required: true,
},
},
computed: {
userCanResolveDiscussion() {
return this.discussion.notes.every(
note => note.current_user && note.current_user.can_resolve,
);
},
},
};
</script>
......@@ -46,7 +53,7 @@ export default {
@onClick="$emit('showReplyForm')"
/>
<div class="btn-group discussion-actions" role="group">
<div v-if="userCanResolveDiscussion" class="btn-group discussion-actions" role="group">
<div class="btn-group">
<resolve-discussion-button
v-if="discussion.resolvable"
......
---
title: Hide resolve thread button from guest
merge_request: 32859
author:
type: changed
......@@ -65,6 +65,15 @@ describe('DiscussionActions', () => {
expect(wrapper.find(JumpToNextDiscussionButton).exists()).toBe(false);
});
it('does not renders discussion button for non-member', () => {
const discussion = JSON.parse(JSON.stringify(discussionMock));
discussion.notes[1].current_user.can_resolve = false;
createComponent({ discussion });
expect(wrapper.find(ResolveDiscussionButton).exists()).toBe(false);
expect(wrapper.find(ResolveWithIssueButton).exists()).toBe(false);
});
});
describe('events handling', () => {
......
......@@ -255,6 +255,10 @@ describe('noteable_discussion component', () => {
discussion.notes = discussion.notes.map(note => ({
...note,
resolved: false,
current_user: {
...note.current_user,
can_resolve: true,
},
}));
wrapper.setProps({ discussion });
......
......@@ -200,6 +200,7 @@ export const discussionMock = {
current_user: {
can_edit: true,
can_award_emoji: true,
can_resolve: true,
},
discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1',
emoji_awardable: true,
......@@ -246,6 +247,7 @@ export const discussionMock = {
current_user: {
can_edit: true,
can_award_emoji: true,
can_resolve: true,
},
discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1',
emoji_awardable: true,
......@@ -292,6 +294,7 @@ export const discussionMock = {
current_user: {
can_edit: true,
can_award_emoji: true,
can_resolve: true,
},
discussion_id: '9e3bd2f71a01de45fd166e6719eb380ad9f270b1',
emoji_awardable: true,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment