feat: change result range check field

This commit is contained in:
2026-09-09 18:22:06 +03:30
parent f3c86da09b
commit bc333b8289
12 changed files with 67 additions and 44 deletions
@@ -72,12 +72,12 @@ export class CalculateResultProvider {
rangeRules: true,
},
}),
async (score) =>
async (probability) =>
manager.find(ResultRange, {
where: {
test: { id: submission.test.id },
minScore: LessThanOrEqual(score),
maxScore: MoreThanOrEqual(score),
minProbability: LessThanOrEqual(probability),
maxProbability: MoreThanOrEqual(probability),
},
}),
);
@@ -119,12 +119,12 @@ export class CalculateResultProvider {
rangeRules: true,
},
}),
async (score) =>
async (probability) =>
this.resultRangeRepository.find({
where: {
test: { id: submission.testId },
minScore: LessThanOrEqual(score),
maxScore: MoreThanOrEqual(score),
minProbability: LessThanOrEqual(probability),
maxProbability: MoreThanOrEqual(probability),
},
}),
);
@@ -150,7 +150,7 @@ export class CalculateResultProvider {
numericValue?: number;
}>,
loadQuestions: (questionIds: number[]) => Promise<Question[]>,
loadResultRanges: (score: number) => Promise<ResultRange[]>,
loadResultRanges: (probability: number) => Promise<ResultRange[]>,
) {
let score = 0;
@@ -239,11 +239,14 @@ export class CalculateResultProvider {
}
});
const resultRanges = await loadResultRanges(score);
const probability =
totalScores > 0 ? Math.ceil((score / totalScores) * 100) : 0;
const resultRanges = await loadResultRanges(probability);
return {
score,
probability: totalScores > 0 ? Math.ceil((score / totalScores) * 100) : 0,
probability,
resultRange: resultRanges.length > 0 ? resultRanges[0] : undefined,
};
}