diff --git a/src/grading-settings/assignment-section/AssignmentSection.test.jsx b/src/grading-settings/assignment-section/AssignmentSection.test.jsx index afc8c8ed8..1761470a6 100644 --- a/src/grading-settings/assignment-section/AssignmentSection.test.jsx +++ b/src/grading-settings/assignment-section/AssignmentSection.test.jsx @@ -62,10 +62,10 @@ describe('', () => { it('checking correct assignment weight of total grade value', async () => { const { getByTestId } = render(); await waitFor(() => { - const assignmentShortLabelInput = getByTestId('assignment-weight-input'); - expect(assignmentShortLabelInput.value).toBe('100'); - fireEvent.change(assignmentShortLabelInput, { target: { value: '123' } }); - expect(testObj.graders[0].weight).toBe('123'); + const assignmentWeightInput = getByTestId('assignment-weight-input'); + expect(assignmentWeightInput.value).toBe('100'); + fireEvent.change(assignmentWeightInput, { target: { value: '123' } }); + expect(testObj.graders[0].weight).toBe(123); }); }); it('checking correct assignment total number value', async () => { @@ -74,7 +74,7 @@ describe('', () => { const assignmentTotalNumberInput = getByTestId('assignment-minCount-input'); expect(assignmentTotalNumberInput.value).toBe('1'); fireEvent.change(assignmentTotalNumberInput, { target: { value: '123' } }); - expect(testObj.graders[0].minCount).toBe('123'); + expect(testObj.graders[0].minCount).toBe(123); }); }); it('checking correct assignment number of droppable value', async () => { @@ -83,7 +83,7 @@ describe('', () => { const assignmentNumberOfDroppableInput = getByTestId('assignment-dropCount-input'); expect(assignmentNumberOfDroppableInput.value).toBe('1'); fireEvent.change(assignmentNumberOfDroppableInput, { target: { value: '2' } }); - expect(testObj.graders[0].dropCount).toBe('2'); + expect(testObj.graders[0].dropCount).toBe(2); }); }); it('checking correct error msg if dropCount have negative number or empty string', async () => { @@ -100,20 +100,20 @@ describe('', () => { it('checking correct error msg if minCount have negative number or empty string', async () => { const { getByText, getByTestId } = render(); await waitFor(() => { - const assignmentNumberOfDroppableInput = getByTestId('assignment-minCount-input'); - expect(assignmentNumberOfDroppableInput.value).toBe('1'); - fireEvent.change(assignmentNumberOfDroppableInput, { target: { value: '-2' } }); + const assignmentMinCountInput = getByTestId('assignment-minCount-input'); + expect(assignmentMinCountInput.value).toBe('1'); + fireEvent.change(assignmentMinCountInput, { target: { value: '-2' } }); expect(getByText(messages.totalNumberErrorMessage.defaultMessage)).toBeInTheDocument(); - fireEvent.change(assignmentNumberOfDroppableInput, { target: { value: '' } }); + fireEvent.change(assignmentMinCountInput, { target: { value: '' } }); expect(getByText(messages.totalNumberErrorMessage.defaultMessage)).toBeInTheDocument(); }); }); it('checking correct error msg if total weight have negative number', async () => { const { getByText, getByTestId } = render(); await waitFor(() => { - const assignmentNumberOfDroppableInput = getByTestId('assignment-weight-input'); - expect(assignmentNumberOfDroppableInput.value).toBe('100'); - fireEvent.change(assignmentNumberOfDroppableInput, { target: { value: '-100' } }); + const assignmentWeightInput = getByTestId('assignment-weight-input'); + expect(assignmentWeightInput.value).toBe('100'); + fireEvent.change(assignmentWeightInput, { target: { value: '-100' } }); expect(getByText(messages.weightOfTotalGradeErrorMessage.defaultMessage)).toBeInTheDocument(); }); }); diff --git a/src/grading-settings/assignment-section/index.jsx b/src/grading-settings/assignment-section/index.jsx index 4c7652a5f..8c329e70f 100644 --- a/src/grading-settings/assignment-section/index.jsx +++ b/src/grading-settings/assignment-section/index.jsx @@ -34,7 +34,12 @@ const AssignmentSection = ({ } const handleAssignmentChange = (e, assignmentId) => { - const { name, value } = e.target; + const { name, value, type: inputType } = e.target; + + let inputValue = value; + if (inputType === 'number') { + inputValue = parseInt(value, 10); + } setShowSavePrompt(true); @@ -42,7 +47,7 @@ const AssignmentSection = ({ ...prevState, graders: graders.map(grader => { if (grader.id === assignmentId) { - return { ...grader, [name]: value }; + return { ...grader, [name]: inputValue }; } return grader; }), @@ -66,7 +71,7 @@ const AssignmentSection = ({ return (
{graders?.map((gradeField) => { - const courseAssignmentUsage = courseAssignmentLists[gradeField.type.toLowerCase()]; + const courseAssignmentUsage = courseAssignmentLists[gradeField.type]; const showDefinedCaseAlert = gradeField.minCount !== courseAssignmentUsage?.length && Boolean(courseAssignmentUsage?.length); const showNotDefinedCaseAlert = !courseAssignmentUsage?.length && Boolean(gradeField.type);