diff --git a/src/core/client/admin/components/ModerateCard/ModeratedByContainer.spec.tsx b/src/core/client/admin/components/ModerateCard/ModeratedByContainer.spec.tsx new file mode 100644 index 000000000..2e501d4b0 --- /dev/null +++ b/src/core/client/admin/components/ModerateCard/ModeratedByContainer.spec.tsx @@ -0,0 +1,39 @@ +import React from "react"; +import { createRenderer } from "react-test-renderer/shallow"; + +import { removeFragmentRefs } from "coral-framework/testHelpers"; +import { PropTypesOf } from "coral-framework/types"; + +import ModeratedByContainer from "./ModeratedByContainer"; + +const ModeratedByContainerN = removeFragmentRefs(ModeratedByContainer); + +it("viewer's username shows on moderation cards moderated by viewer", () => { + const props: PropTypesOf = { + comment: { + id: "comment-id", + statusLiveUpdated: false, + statusHistory: { + edges: [ + { + moderator: { + id: "viewer", + username: "viewer", + }, + }, + ], + }, + }, + viewer: { + id: "viewer", + username: "viewer", + }, + onUsernameClicked: (id?: string | null) => { + return; + }, + }; + + const renderer = createRenderer(); + renderer.render(); + expect(renderer.getRenderOutput()).toMatchSnapshot(); +}); diff --git a/src/core/client/admin/components/ModerateCard/ModeratedByContainer.tsx b/src/core/client/admin/components/ModerateCard/ModeratedByContainer.tsx index 98097097b..47268cc4b 100644 --- a/src/core/client/admin/components/ModerateCard/ModeratedByContainer.tsx +++ b/src/core/client/admin/components/ModerateCard/ModeratedByContainer.tsx @@ -29,7 +29,7 @@ const ModeratedByContainer: React.FunctionComponent = ({ System ); } else if (viewer.id === comment.statusHistory.edges[0].node.moderator.id) { - moderatedBy = null; + moderatedBy = viewer.username ? <>{viewer.username} : null; } else { moderatedBy = <>{comment.statusHistory.edges[0].node.moderator.username}; id = comment.statusHistory.edges[0].node.moderator.id; @@ -73,6 +73,7 @@ const enhanced = withFragmentContainer({ viewer: graphql` fragment ModeratedByContainer_viewer on User { id + username } `, })(ModeratedByContainer); diff --git a/src/core/client/admin/components/ModerateCard/__snapshots__/ModeratedByContainer.spec.tsx.snap b/src/core/client/admin/components/ModerateCard/__snapshots__/ModeratedByContainer.spec.tsx.snap new file mode 100644 index 000000000..d9ec8a8b7 --- /dev/null +++ b/src/core/client/admin/components/ModerateCard/__snapshots__/ModeratedByContainer.spec.tsx.snap @@ -0,0 +1,29 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`viewer's username shows on moderation cards moderated by viewer 1`] = ` + +`;