feat: add multi choice publish test validator
This commit is contained in:
@@ -7,6 +7,7 @@ import { QuestionTransitionType } from '@/modules/questions/enums/question-trans
|
||||
import { AppTimeoutException } from '@/common/exceptions/app-timeout.exception';
|
||||
import { QuestionTransition } from '@/modules/questions/entities/question-transition.entity';
|
||||
import { Question } from '@/modules/questions/entities/question.entity';
|
||||
import { MultiChoiceTransitionValidator } from '../validators/multi-choice-transition.validator';
|
||||
|
||||
@Injectable()
|
||||
export class PublishTestValidatorProvider {
|
||||
@@ -61,6 +62,8 @@ export class PublishTestValidatorProvider {
|
||||
|
||||
const startQuestionId = startTransitions[0].toQuestion!.id;
|
||||
|
||||
MultiChoiceTransitionValidator.validate(test.questions, transitions);
|
||||
|
||||
const transitionsGraph = new Map<number, QuestionTransition[]>();
|
||||
|
||||
this.createTransitionsGraph(transitions, transitionsGraph);
|
||||
|
||||
@@ -8,7 +8,7 @@ import { MultiChoiceCondition } from '@/modules/questions/interfaces/multi-choic
|
||||
import { HttpStatus } from '@nestjs/common';
|
||||
|
||||
export class MultiChoiceTransitionValidator {
|
||||
public static validateMultiChoiceTransitions(
|
||||
public static validate(
|
||||
questions: Question[],
|
||||
transitions: QuestionTransition[],
|
||||
) {
|
||||
@@ -29,7 +29,6 @@ export class MultiChoiceTransitionValidator {
|
||||
continue;
|
||||
}
|
||||
|
||||
// اگر transition شرطی داریم، باید fallback داشته باشیم.
|
||||
const hasDefault = outgoing.some(
|
||||
(t) => t.type === QuestionTransitionType.DEFAULT,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user