Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(activity-thread): Hide Modify option on comment if resolved #3439

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
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
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
Contributor 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
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
Contributor

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
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
Loading