diff --git a/src/course-outline/xblock-status/NeverShowAssessmentResultMessage.jsx b/src/course-outline/xblock-status/NeverShowAssessmentResultMessage.jsx
new file mode 100644
index 000000000..12dd0667f
--- /dev/null
+++ b/src/course-outline/xblock-status/NeverShowAssessmentResultMessage.jsx
@@ -0,0 +1,20 @@
+import { useIntl } from '@edx/frontend-platform/i18n';
+import { Icon } from '@openedx/paragon';
+import { HelpOutline } from '@openedx/paragon/icons';
+import messages from '../../generic/configure-modal/messages';
+
+const NeverShowAssessmentResultMessage = () => {
+ const intl = useIntl();
+ return (
+
+
+
+ {intl.formatMessage(messages.neverShowAssessmentResults)}
+
+
+ );
+};
+
+NeverShowAssessmentResultMessage.propTypes = {};
+
+export default NeverShowAssessmentResultMessage;
diff --git a/src/course-outline/xblock-status/XBlockStatus.jsx b/src/course-outline/xblock-status/XBlockStatus.jsx
index d077889e7..77e81e071 100644
--- a/src/course-outline/xblock-status/XBlockStatus.jsx
+++ b/src/course-outline/xblock-status/XBlockStatus.jsx
@@ -7,6 +7,8 @@ import GradingPolicyAlert from './GradingPolicyAlert';
import GradingTypeAndDueDate from './GradingTypeAndDueDate';
import StatusMessages from './StatusMessages';
import HideAfterDueMessage from './HideAfterDueMessage';
+import NeverShowAssessmentResultMessage from './NeverShowAssessmentResultMessage';
+import { ShowAnswerTypesKeys } from '../../editors/data/constants/problem';
const XBlockStatus = ({
isSelfPaced,
@@ -33,6 +35,7 @@ const XBlockStatus = ({
graded,
courseGraders,
hideAfterDue,
+ showCorrectness,
} = blockData;
const isInstructorPaced = !isSelfPaced;
@@ -40,6 +43,9 @@ const XBlockStatus = ({
return (
+ {category === COURSE_BLOCK_NAMES.sequential.id && showCorrectness === ShowAnswerTypesKeys.NEVER && (
+
+ )}
{!isVertical && (
for Instructor paced Subsection', () => {
@@ -275,6 +277,13 @@ describe(' for Instructor paced Subsection', () => {
expect(hideAfterDueMessage).toBeInTheDocument();
expect(hideAfterDueMessage).toHaveTextContent(messages.hiddenAfterDueDate.defaultMessage);
+ // check never show assessment result message
+ const neverShowAssessmentResultMessage = queryByTestId('never-show-assessment-result-message');
+ expect(neverShowAssessmentResultMessage).toBeInTheDocument();
+ expect(neverShowAssessmentResultMessage).toHaveTextContent(
+ genericMessages.neverShowAssessmentResults.defaultMessage,
+ );
+
// check status messages
const statusDiv = queryByTestId('status-messages-div');
expect(statusDiv).toBeInTheDocument();
@@ -402,6 +411,13 @@ describe(' for self paced Subsection', () => {
expect(hideAfterDueMessage).toBeInTheDocument();
expect(hideAfterDueMessage).toHaveTextContent(messages.hiddenAfterEndDate.defaultMessage);
+ // check never show assessment result message
+ const neverShowAssessmentResultMessage = queryByTestId('never-show-assessment-result-message');
+ expect(neverShowAssessmentResultMessage).toBeInTheDocument();
+ expect(neverShowAssessmentResultMessage).toHaveTextContent(
+ genericMessages.neverShowAssessmentResults.defaultMessage,
+ );
+
// check status messages
const statusDiv = queryByTestId('status-messages-div');
expect(statusDiv).toBeInTheDocument();
@@ -468,6 +484,10 @@ describe(' for unit', () => {
// hide after due date message should not be visible as the flag is set to false
expect(queryByTestId('hide-after-due-message')).not.toBeInTheDocument();
+ // check never show assessment result message
+ // never show assessment result message should not be visible as the flag is set to false
+ expect(queryByTestId('never-show-assessment-result-message')).not.toBeInTheDocument();
+
// check status messages for partition info
const statusDiv = queryByTestId('status-messages-div');
expect(statusDiv).toBeInTheDocument();