fix longs tests

This commit is contained in:
Ross
2023-06-05 16:44:35 +01:00
parent e0723d4d3a
commit afdc8e95c7
6 changed files with 278 additions and 152 deletions
+19 -6
View File
@@ -345,9 +345,10 @@ class Long(QuestionBase):
return url
def get_unanswered_mark_and_text(self) -> tuple[int, str]:
def get_unanswered_mark_and_text(self) -> tuple[int, tuple[str, str, str, str, str]]:
"""
Override in models if needed
Long cases are receive a mark between 4 and 8
Therefore unmarked = 4
"""
return (4, ("Not answered",) * 5)
@@ -862,7 +863,9 @@ class UserAnswer(UserAnswerBase):
return "hidden"
return "/".join(f"{str(i.score)}" for i in mark_objects)
def get_answer_score(self):
def get_answer_score(self) -> float | str:
"""Returns the answers score.
If the answer is unmarked the string "unmarked" is returned"""
if self.score == "":
return "unmarked"
return float(self.score)
@@ -873,8 +876,19 @@ class UserAnswer(UserAnswerBase):
return True
return False
def get_answer(self):
(
def get_answer(
self,
) -> tuple[
models.TextField,
models.TextField,
models.TextField,
models.TextField,
models.TextField,
]:
"""Returns a tuple containing the users answers (model fields)
"""
return (
self.answer_observations,
self.answer_interpretation,
self.answer_principle_diagnosis,
@@ -901,7 +915,6 @@ Management:
"""
@reversion.register
class AnswerMarks(models.Model):
score = models.CharField(max_length=3, choices=UserAnswer.ScoreOptions.choices)