From 6889cd1e82797e820d1f78056a243f10e08a0ea8 Mon Sep 17 00:00:00 2001 From: Navin Karkera Date: Tue, 10 Oct 2023 20:08:00 +0530 Subject: [PATCH] test: add test for initial attempts display value --- .../SettingsWidget/hooks.test.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/hooks.test.js b/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/hooks.test.js index 1fcc05a1b..8b636c0a8 100644 --- a/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/hooks.test.js +++ b/src/editors/containers/ProblemEditor/components/EditProblemView/SettingsWidget/hooks.test.js @@ -148,6 +148,26 @@ describe('Problem settings hooks', () => { }, }; const defaultValue = 1; + test('test scoringCardHooks initializes display value when attempts.number is null', () => { + const nilScoring = { ...scoring, attempts: { unlimited: false, number: null } }; + output = hooks.scoringCardHooks(nilScoring, updateSettings, defaultValue); + expect(state.stateVals[state.keys.attemptDisplayValue]).toEqual(`${defaultValue} (Default)`); + }); + test('test scoringCardHooks initializes display value when attempts.number is blank', () => { + const nilScoring = { ...scoring, attempts: { unlimited: false, number: '' } }; + output = hooks.scoringCardHooks(nilScoring, updateSettings, defaultValue); + expect(state.stateVals[state.keys.attemptDisplayValue]).toEqual(`${defaultValue} (Default)`); + }); + test('test scoringCardHooks initializes display value when attempts.number is not null', () => { + const nonNilScoring = { ...scoring, attempts: { unlimited: false, number: 2 } }; + output = hooks.scoringCardHooks(nonNilScoring, updateSettings, defaultValue); + expect(state.stateVals[state.keys.attemptDisplayValue]).toEqual(2); + }); + test('test scoringCardHooks initializes display value when attempts.number and defaultValue is null', () => { + const nonNilScoring = { ...scoring, attempts: { unlimited: false, number: null } }; + output = hooks.scoringCardHooks(nonNilScoring, updateSettings, null); + expect(state.stateVals[state.keys.attemptDisplayValue]).toEqual(''); + }); beforeEach(() => { output = hooks.scoringCardHooks(scoring, updateSettings, defaultValue); });