Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ export const BaseCommentMenu = ({
<FormattedMessage {...messages.commentResolveMenuItem} />
</MenuItem>
)}
{canEdit && (
{canEdit && !isResolved && (
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it not possible to have a backend change for this? If canEdit is false if the status is resolved on the backend, then we wouldn't need this extra flag on the FE.

Copy link
Copy Markdown
Collaborator Author

@shahzadaziz shahzadaziz Oct 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ya I have been looking into EUW endpoints and extending permissions to add isResolved to both top level comment and replies. That seems like a better place put these checks.

That work is currently blocked but we can disregard this PR if that is the direction we agree on.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I agree with the direction of extending permissions. This will also prevent users from bypassing the ui and hitting the endpoint directly.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the back-end canEdit should already be checking resolution status for top level and replies. I would be curious why it isn't coming through.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shahzadaziz Before your changes, did the menu item to modify comment show up when the comment is resolved?

<MenuItem
data-resin-target={ACTIVITY_TARGETS.COMMENT_OPTIONS_EDIT}
data-testid="edit-comment"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,24 @@ describe('elements/content-sidebar/ActivityFeed/comment/BaseCommentMenu', () =>
},
);

test.each`
canEdit | isResolved | should
${true} | ${false} | ${'should'}
${true} | ${true} | ${'should NOT'}
`(
`$should render modify menu item when isResolved is $isResolved and canEdit is $canEdit`,
({ canEdit, isResolved, should }) => {
const wrapper = getWrapper({ canEdit, isResolved });
const message = localize(messages.commentEditMenuItem.id);
openMenu(wrapper);
if (should === 'should') {
expect(wrapper.getByText(message)).toBeInTheDocument();
} else {
expect(wrapper.queryByText(message)).not.toBeInTheDocument();
}
},
);

test.each`
isConfirmingDelete | should
${true} | ${'should'}
Expand Down