diff --git a/services/quizzes/src/util/migration/modelSolutionSpecQuiz.ts b/services/quizzes/src/util/migration/modelSolutionSpecQuiz.ts index 4f5629c9dcb3..01cdf0880b00 100644 --- a/services/quizzes/src/util/migration/modelSolutionSpecQuiz.ts +++ b/services/quizzes/src/util/migration/modelSolutionSpecQuiz.ts @@ -45,7 +45,7 @@ const migrateModelSolutionSpecQuizItem = ( multipleChoiceMultipleOptionsGradingPolicy: quizItem.multipleChoiceMultipleOptionsGradingPolicy, allowSelectingMultipleOptions: quizItem.multi, - direction: quizItem.direction, + optionDisplayDirection: quizItem.direction == "row" ? "horizontal" : "vertical", failureMessage: quizItem.failureMessage, successMessage: quizItem.successMessage, sharedOptionFeedbackMessage: quizItem.sharedOptionFeedbackMessage, diff --git a/services/quizzes/src/util/migration/publicSpecQuiz.ts b/services/quizzes/src/util/migration/publicSpecQuiz.ts index ca5d86fccd82..5ea0514c3472 100644 --- a/services/quizzes/src/util/migration/publicSpecQuiz.ts +++ b/services/quizzes/src/util/migration/publicSpecQuiz.ts @@ -37,7 +37,7 @@ const migratePublicSpecQuizItem = (quizItem: PublicQuizItem): PublicSpecQuizItem type: "multiple-choice", allowSelectingMultipleOptions: quizItem.multi, body: quizItem.body, - optionDisplayDirection: quizItem.direction == "column" ? "horizontal" : "vertical", + optionDisplayDirection: quizItem.direction == "row" ? "horizontal" : "vertical", multipleChoiceMultipleOptionsGradingPolicy: quizItem.multipleChoiceMultipleOptionsGradingPolicy, options: quizItem.options.map( diff --git a/services/quizzes/tests/util/migrationTests/utils/comparison.ts b/services/quizzes/tests/util/migrationTests/utils/comparison.ts index 06d5afb5d9d4..249e5c24afb6 100644 --- a/services/quizzes/tests/util/migrationTests/utils/comparison.ts +++ b/services/quizzes/tests/util/migrationTests/utils/comparison.ts @@ -97,7 +97,13 @@ const compareFields = ( `field '${fields[key]}' does not exist in old quiz item: ${JSON.stringify(oldQuizItem)}`, ) } - expect(newQuizItem[key as keyof T]).toEqual(oldQuizItem[fields[key] as keyof S]) + if (key === "optionDisplayDirection") { + // direction is changed to optionDisplayDirection with different values. + const direction = oldQuizItem[fields[key] as keyof S] == "row" ? "horizontal" : "vertical" + expect(direction).toEqual(newQuizItem[key as keyof T]) + } else { + expect(newQuizItem[key as keyof T]).toEqual(oldQuizItem[fields[key] as keyof S]) + } }) } @@ -177,7 +183,7 @@ const comparePrivateSpecQuizItem = ( successMessage: "successMessage", failureMessage: "failureMessage", sharedOptionFeedbackMessage: "sharedOptionFeedbackMessage", - direction: "direction", + optionDisplayDirection: "direction", multipleChoiceMultipleOptionsGradingPolicy: "multipleChoiceMultipleOptionsGradingPolicy", } break @@ -273,7 +279,7 @@ const comparePublicSpecQuizItem = ( allowSelectingMultipleOptions: "multi", title: "title", body: "body", - direction: "direction", + optionDisplayDirection: "direction", multipleChoiceMultipleOptionsGradingPolicy: "multipleChoiceMultipleOptionsGradingPolicy", } break @@ -375,7 +381,7 @@ const compareModelSolutionSpecQuizItem = ( successMessage: "successMessage", failureMessage: "failureMessage", sharedOptionFeedbackMessage: "sharedOptionFeedbackMessage", - direction: "direction", + optionDisplayDirection: "direction", multipleChoiceMultipleOptionsGradingPolicy: "multipleChoiceMultipleOptionsGradingPolicy", } break diff --git a/services/quizzes/types/quizTypes/modelSolutionSpec.ts b/services/quizzes/types/quizTypes/modelSolutionSpec.ts index 2f39e8e61bf2..bddfff86361c 100644 --- a/services/quizzes/types/quizTypes/modelSolutionSpec.ts +++ b/services/quizzes/types/quizTypes/modelSolutionSpec.ts @@ -1,3 +1,5 @@ +import { DisplayDirection } from "./privateSpec" + type grantPointsPolicy = "grant_whenever_possible" | "grant_only_when_answer_fully_correct" export interface QuizItemOption { @@ -70,7 +72,7 @@ export interface ModelSolutionQuizItemMultiplechoice { successMessage: string | null failureMessage: string | null sharedOptionFeedbackMessage: string | null - direction: "row" | "column" + optionDisplayDirection: DisplayDirection multipleChoiceMultipleOptionsGradingPolicy: multipleChoiceMultipleOptionsGradingPolicy }