diff --git a/evap/evaluation/models.py b/evap/evaluation/models.py index 7dd32eb8a3..d3fff0f2ec 100644 --- a/evap/evaluation/models.py +++ b/evap/evaluation/models.py @@ -1374,9 +1374,10 @@ class Meta: unique_together = [("question", "questionnaire")] def delete(self, using=None, keep_parents=False) -> tuple[int, dict[str, int]]: - assert not self.question.answer_class.objects.filter(assignment=self).exists(), ( - "cannot delete question with answers" - ) + if not self.question.is_heading_question: + assert not self.question.answer_class.objects.filter(assignment=self).exists(), ( + "cannot delete question with answers" + ) count = 0 meta: dict[str, int] = {} diff --git a/evap/staff/tests/test_views.py b/evap/staff/tests/test_views.py index f5962063ef..17d5d8ae1c 100644 --- a/evap/staff/tests/test_views.py +++ b/evap/staff/tests/test_views.py @@ -3374,7 +3374,10 @@ def test_invalid_question_edit(self) -> None: def test_delete_question(self) -> None: other_questionnaire = baker.make(Questionnaire) - other_question = baker.make(Question, questionnaires=[self.questionnaire, other_questionnaire]) + # Use HEADING to test for a regression, see https://github.com/e-valuation/EvaP/pull/2665 + other_question = baker.make( + Question, questionnaires=[self.questionnaire, other_questionnaire], type=QuestionType.HEADING + ) baker.make(QuestionAssignment, questionnaire=self.questionnaire, question__type=QuestionType.GRADE) baker.make(Contribution, questionnaires=[self.questionnaire], evaluation__state=Evaluation.State.NEW) page = self.app.get(self.url, user=self.manager)