feat: add never_but_include_grade visibility option (#2489)

This PR introduces a new visibility option for assignment scores:

“Never show individual assessment results, but show overall assessment results after the due date.”

With this option, learners cannot see question-level correctness or scores at any time. However, once the due date has passed, they can view their overall score in the total grades section on the Progress page.
This commit is contained in:
Muhammad Anas
2025-10-24 23:08:32 +05:00
committed by GitHub
parent 106f22b3c2
commit dc05ccfd16
3 changed files with 24 additions and 0 deletions

View File

@@ -155,6 +155,8 @@ describe('<ConfigureModal /> for Subsection', () => {
expect(getByText(messages.neverShowAssessmentResultsDescription.defaultMessage)).toBeInTheDocument();
expect(getByText(messages.showAssessmentResultsPastDue.defaultMessage)).toBeInTheDocument();
expect(getByText(messages.showAssessmentResultsPastDueDescription.defaultMessage)).toBeInTheDocument();
expect(getByText(messages.neverShowAssessmentResultsButIncludeGrade.defaultMessage)).toBeInTheDocument();
expect(getByText(messages.neverShowAssessmentResultsButIncludeGradeDescription.defaultMessage)).toBeInTheDocument();
});
it('switches to the subsection Advanced tab and renders correctly', async () => {

View File

@@ -112,6 +112,12 @@ const VisibilityTab = ({
<FormattedMessage {...messages.showAssessmentResultsPastDue} />
</Form.Radio>
<Form.Text><FormattedMessage {...messages.showAssessmentResultsPastDueDescription} /></Form.Text>
<Form.Radio value="never_but_include_grade">
<FormattedMessage {...messages.neverShowAssessmentResultsButIncludeGrade} />
</Form.Radio>
<Form.Text>
<FormattedMessage {...messages.neverShowAssessmentResultsButIncludeGradeDescription} />
</Form.Text>
</Form.RadioSet>
</>
) : (

View File

@@ -170,26 +170,42 @@ const messages = defineMessages({
alwaysShowAssessmentResults: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.always-show-assessment-results',
defaultMessage: 'Always show assessment results',
description: 'Always show assessment results option in visibility tab',
},
alwaysShowAssessmentResultsDescription: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.always-show-assessment-results-description',
defaultMessage: 'When learners submit an answer to an assessment, they immediately see whether the answer is correct or incorrect, and the score received.',
description: 'Always show assessment results option description in visibility tab',
},
neverShowAssessmentResults: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.never-show-assessment-results',
defaultMessage: 'Never show assessment results',
description: 'Never show assessment results option in visibility tab',
},
neverShowAssessmentResultsDescription: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.never-show-assessment-results-description',
defaultMessage: 'Learners never see whether their answers to assessments are correct or incorrect, nor the score received.',
description: 'Never show assessment results option description in visibility tab',
},
showAssessmentResultsPastDue: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.show-assessment-results-past-due',
defaultMessage: 'Show assessment results when subsection is past due',
description: 'Show assessment results past due option in visibility tab',
},
showAssessmentResultsPastDueDescription: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.show-assessment-results-past-due-description',
defaultMessage: 'Learners do not see whether their answer to assessments were correct or incorrect, nor the score received, until after the due date for the subsection has passed. If the subsection does not have a due date, learners always see their scores when they submit answers to assessments.',
description: 'Show assessment results past due option description in visibility tab',
},
neverShowAssessmentResultsButIncludeGrade: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.never-show-assessment-results-but-include-grade',
defaultMessage: 'Never show individual assessment results, but show overall assessment results after due date',
description: 'Never show assessment results but include in grade calculations option in visibility tab',
},
neverShowAssessmentResultsButIncludeGradeDescription: {
id: 'course-authoring.course-outline.configure-modal.visibility-tab.never-show-assessment-results-but-include-grade-description',
defaultMessage: 'Learners do not see question-level correctness or scores before or after the due date. However, once the due date passes, they can see their overall score for the subsection on the Progress page.',
description: 'Never show assessment results but include in grade calculations option description in visibility tab',
},
setSpecialExam: {
id: 'course-authoring.course-outline.configure-modal.advanced-tab.set-special-exam',