refactor: improve setting parser condition handling

This commit is contained in:
Navin Karkera
2023-10-09 21:29:53 +05:30
parent 5df26bf83b
commit 398839d76c
2 changed files with 31 additions and 17 deletions

View File

@@ -30,6 +30,11 @@ describe('Test Settings to State Parser', () => {
expect(scoreSettings.attempts).toStrictEqual(singleSelectWithHints.state.settings.scoring.attempts);
});
test('Test score settings attempts missing with default max_attempts', () => {
const scoreSettings = parseScoringSettings(singleSelectWithHints.metadata, defaultSettings);
expect(scoreSettings.attempts).toStrictEqual({number: 1, unlimited: false});
});
test('Test negative attempts in score', () => {
const scoreSettings = parseScoringSettings(negativeAttempts.metadata, defaultSettings);
expect(scoreSettings.attempts).toStrictEqual(negativeAttempts.state.settings.scoring.attempts);
@@ -40,6 +45,16 @@ describe('Test Settings to State Parser', () => {
expect(settings.scoring).toStrictEqual(singleSelectWithHints.state.settings.scoring);
});
test('Test score settings missing with default', () => {
const settings = parseSettings(singleSelectWithHints.metadata, defaultSettings);
expect(settings.scoring).toStrictEqual({attempts: {number: 1, unlimited: false}});
});
test('Test score settings missing with null default', () => {
const settings = parseSettings(singleSelectWithHints.metadata, {max_attempts: null});
expect(settings.scoring).toStrictEqual({attempts: {number: '', unlimited: true}});
});
test('Test invalid randomization', () => {
const settings = parseSettings(numericWithHints.metadata, defaultSettings);
expect(settings.randomization).toBeUndefined();