Skip to content

Commit

Permalink
moved tests next to each other
Browse files Browse the repository at this point in the history
  • Loading branch information
jooooosef committed Jan 27, 2025
1 parent b6d8737 commit ad2fbb8
Showing 1 changed file with 59 additions and 59 deletions.
118 changes: 59 additions & 59 deletions evap/staff/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -948,6 +948,65 @@ def test_assign_questionnaires(self) -> None:
self.assertEqual(contribution.questionnaires.count(), 1)
self.assertEqual(contribution.questionnaires.get(), self.questionnaire_contributor)

class TestSemesterQuestionnaireAssignment(WebTestStaffMode):
@classmethod
def setUpTestData(cls):
cls.manager = make_manager()
semester = baker.make(Semester)
cls.url = f"/staff/semester/{semester.pk}/assign"

cls.course_type_1 = baker.make(CourseType)
cls.course_type_2 = baker.make(CourseType)
cls.responsible = baker.make(UserProfile)
cls.questionnaire_1 = baker.make(Questionnaire, type=Questionnaire.Type.TOP)
cls.questionnaire_2 = baker.make(Questionnaire, type=Questionnaire.Type.TOP)
cls.questionnaire_responsible = baker.make(Questionnaire, type=Questionnaire.Type.CONTRIBUTOR)
cls.evaluation_1 = baker.make(
Evaluation,
course=baker.make(Course, semester=semester, type=cls.course_type_1, responsibles=[cls.responsible]),
)
cls.evaluation_2 = baker.make(
Evaluation,
course=baker.make(Course, semester=semester, type=cls.course_type_2, responsibles=[cls.responsible]),
)
baker.make(
Contribution,
contributor=cls.responsible,
evaluation=cls.evaluation_1,
role=Contribution.Role.EDITOR,
textanswer_visibility=Contribution.TextAnswerVisibility.GENERAL_TEXTANSWERS,
)
baker.make(
Contribution,
contributor=cls.responsible,
evaluation=cls.evaluation_2,
role=Contribution.Role.EDITOR,
textanswer_visibility=Contribution.TextAnswerVisibility.GENERAL_TEXTANSWERS,
)

def test_questionnaire_assignment(self):
page = self.app.get(self.url, user=self.manager, status=200)
form = page.forms["questionnaire-assign-form"]
form["general-" + str(self.course_type_1.id)] = [self.questionnaire_1.pk, self.questionnaire_2.pk]
form["general-" + str(self.course_type_2.id)] = [self.questionnaire_2.pk]
form["contributor-" + str(self.course_type_1.id)] = [self.questionnaire_responsible.pk]

response = form.submit().follow()
self.assertIn("Successfully", str(response))

self.assertEqual(
set(self.evaluation_1.general_contribution.questionnaires.all()),
{self.questionnaire_1, self.questionnaire_2},
)
self.assertEqual(set(self.evaluation_2.general_contribution.questionnaires.all()), {self.questionnaire_2})
self.assertEqual(
set(self.evaluation_1.contributions.get(contributor=self.responsible).questionnaires.all()),
{self.questionnaire_responsible},
)
self.assertEqual(
set(self.evaluation_2.contributions.get(contributor=self.responsible).questionnaires.all()),
set(),
)

class TestSemesterPreparationReminderView(WebTestStaffModeWith200Check):
csrf_checks = False
Expand Down Expand Up @@ -3810,65 +3869,6 @@ def test_import_names_duplicated_error(self):
self.assertContains(response, "Import name "M" is duplicated.")


class TestSemesterQuestionnaireAssignment(WebTestStaffMode):
@classmethod
def setUpTestData(cls):
cls.manager = make_manager()
semester = baker.make(Semester)
cls.url = f"/staff/semester/{semester.pk}/assign"

cls.course_type_1 = baker.make(CourseType)
cls.course_type_2 = baker.make(CourseType)
cls.responsible = baker.make(UserProfile)
cls.questionnaire_1 = baker.make(Questionnaire, type=Questionnaire.Type.TOP)
cls.questionnaire_2 = baker.make(Questionnaire, type=Questionnaire.Type.TOP)
cls.questionnaire_responsible = baker.make(Questionnaire, type=Questionnaire.Type.CONTRIBUTOR)
cls.evaluation_1 = baker.make(
Evaluation,
course=baker.make(Course, semester=semester, type=cls.course_type_1, responsibles=[cls.responsible]),
)
cls.evaluation_2 = baker.make(
Evaluation,
course=baker.make(Course, semester=semester, type=cls.course_type_2, responsibles=[cls.responsible]),
)
baker.make(
Contribution,
contributor=cls.responsible,
evaluation=cls.evaluation_1,
role=Contribution.Role.EDITOR,
textanswer_visibility=Contribution.TextAnswerVisibility.GENERAL_TEXTANSWERS,
)
baker.make(
Contribution,
contributor=cls.responsible,
evaluation=cls.evaluation_2,
role=Contribution.Role.EDITOR,
textanswer_visibility=Contribution.TextAnswerVisibility.GENERAL_TEXTANSWERS,
)

def test_questionnaire_assignment(self):
page = self.app.get(self.url, user=self.manager, status=200)
form = page.forms["questionnaire-assign-form"]
form["general-" + str(self.course_type_1.id)] = [self.questionnaire_1.pk, self.questionnaire_2.pk]
form["general-" + str(self.course_type_2.id)] = [self.questionnaire_2.pk]
form["contributor-" + str(self.course_type_1.id)] = [self.questionnaire_responsible.pk]

response = form.submit().follow()
self.assertIn("Successfully", str(response))

self.assertEqual(
set(self.evaluation_1.general_contribution.questionnaires.all()),
{self.questionnaire_1, self.questionnaire_2},
)
self.assertEqual(set(self.evaluation_2.general_contribution.questionnaires.all()), {self.questionnaire_2})
self.assertEqual(
set(self.evaluation_1.contributions.get(contributor=self.responsible).questionnaires.all()),
{self.questionnaire_responsible},
)
self.assertEqual(
set(self.evaluation_2.contributions.get(contributor=self.responsible).questionnaires.all()),
set(),
)


class TestSemesterActiveStateBehaviour(WebTestStaffMode):
Expand Down

0 comments on commit ad2fbb8

Please sign in to comment.