Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 66 additions & 39 deletions src/teams/tests/test_base_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def setUpTestData(cls) -> None:
super().setUpTestData()

cls.categories = cls.bootstrap.create_camp_info_categories(camp=cls.camp, teams=cls.teams)
cls.bootstrap.create_camp_info_items(camp=cls.camp,categories=cls.categories)
cls.bootstrap.create_camp_info_items(camp=cls.camp, categories=cls.categories)

permission_content_type = ContentType.objects.get_for_model(CampPermission)
cls.users[4].user_permissions.add(
Expand All @@ -31,40 +31,53 @@ def setUpTestData(cls) -> None:
codename="noc_team_lead",
),
)

def test_team_general_view(self) -> None:
"""Test the team general view."""
url = reverse("teams:general", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:general",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

def test_team_list_view(self) -> None:
"""Test the team list view."""
url = reverse("teams:list", kwargs={
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:list",
kwargs={
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

def test_team_manage_view(self) -> None:
"""Test the team manage view."""
self.client.force_login(self.users[4])
url = reverse("teams:manage", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:manage",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

def test_team_join_leave_view(self) -> None:
"""Test the team member join and leave view."""
self.client.force_login(self.users[0])
url = reverse("teams:join", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:join",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

Expand All @@ -86,10 +99,13 @@ def test_team_join_leave_view(self) -> None:
self.assertEqual(len(matches), 1, "member was able to join twice.")

# Try to join a team that does not need members
url = reverse("teams:join", kwargs={
"team_slug": self.teams["orga"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:join",
kwargs={
"team_slug": self.teams["orga"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url, follow=True)

content = response.content.decode()
Expand All @@ -99,10 +115,13 @@ def test_team_join_leave_view(self) -> None:
self.assertEqual(len(matches), 1, "member was able to join a team which does not need members.")

# Test leaving the team.
url = reverse("teams:leave", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:leave",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

Expand All @@ -117,22 +136,28 @@ def test_team_join_leave_view(self) -> None:
def test_team_approve_remove_views(self) -> None:
"""Test team member approve and remove views."""
self.client.force_login(self.users[8])
url = reverse("teams:join", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:join",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.post(path=url)
assert response.status_code == 302

member = TeamMember.objects.get(team=self.teams["noc"], user=self.users[8])

self.client.force_login(self.users[4])
# Approve the team member
url = reverse("teams:member_approve", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"pk": member.pk,
})
url = reverse(
"teams:member_approve",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"pk": member.pk,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

Expand All @@ -143,13 +168,15 @@ def test_team_approve_remove_views(self) -> None:
matches = [s for s in rows if "Team member approved" in str(s)]
self.assertEqual(len(matches), 1, "failed to approve a team member.")


# Remove the team member
url = reverse("teams:member_remove", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"pk": member.pk,
})
url = reverse(
"teams:member_remove",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"pk": member.pk,
},
)
response = self.client.get(path=url)
assert response.status_code == 200

Expand Down
2 changes: 0 additions & 2 deletions src/teams/tests/test_guide_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ def setUpTestData(cls) -> None:
# first add users and other basics
super().setUpTestData()


def test_team_guide_views_permission(self) -> None:
"""Test the team guide view."""
self.client.force_login(self.users[0])
Expand All @@ -38,4 +37,3 @@ def test_team_guide_views_permission(self) -> None:
url = reverse("teams:guide_print", kwargs={"team_slug": self.teams["noc"].slug, "camp_slug": self.camp.slug})
response = self.client.get(path=url, follow=True)
assert response.status_code == 200

75 changes: 45 additions & 30 deletions src/teams/tests/test_info_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def setUpTestData(cls) -> None:
super().setUpTestData()

cls.categories = cls.bootstrap.create_camp_info_categories(camp=cls.camp, teams=cls.teams)
cls.bootstrap.create_camp_info_items(camp=cls.camp,categories=cls.categories)
cls.bootstrap.create_camp_info_items(camp=cls.camp, categories=cls.categories)

permission_content_type = ContentType.objects.get_for_model(CampPermission)
cls.users[4].user_permissions.add(
Expand All @@ -34,33 +34,42 @@ def setUpTestData(cls) -> None:

def test_team_info_view_permissions(self) -> None:
"""Test the team info view permissions."""
self.client.force_login(self.users[0]) # Non noc team member
self.client.force_login(self.users[0]) # Non noc team member
# Test access control to the views
url = reverse("teams:info_categories", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:info_categories",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(path=url)
assert response.status_code == 403

def test_team_info_views(self) -> None:
"""Test the team info views."""
self.client.force_login(self.users[4]) # Noc teamlead
self.client.force_login(self.users[4]) # Noc teamlead

# Test info categories page
url = reverse("teams:info_categories", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
})
url = reverse(
"teams:info_categories",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
},
)
response = self.client.get(url)
assert response.status_code == 200

# Test info categories create page
url = reverse("teams:info_item_create", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"category_anchor": self.categories["noc"].anchor,
})
url = reverse(
"teams:info_item_create",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"category_anchor": self.categories["noc"].anchor,
},
)
response = self.client.get(url)
assert response.status_code == 200

Expand All @@ -72,18 +81,21 @@ def test_team_info_views(self) -> None:
"body": "Some test info",
"anchor": "test",
"weight": 100,
},
},
follow=True,
)
assert response.status_code == 200

# Test info categories edit page
url = reverse("teams:info_item_update", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"category_anchor": self.categories["noc"].anchor,
"item_anchor": "test",
})
url = reverse(
"teams:info_item_update",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"category_anchor": self.categories["noc"].anchor,
"item_anchor": "test",
},
)
response = self.client.get(url)
assert response.status_code == 200

Expand All @@ -95,18 +107,21 @@ def test_team_info_views(self) -> None:
"body": "Some test info",
"anchor": "test",
"weight": 101,
},
},
follow=True,
)
assert response.status_code == 200

# Test info categories delete page
url = reverse("teams:info_item_delete", kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"category_anchor": self.categories["noc"].anchor,
"item_anchor": "test",
})
url = reverse(
"teams:info_item_delete",
kwargs={
"team_slug": self.teams["noc"].slug,
"camp_slug": self.camp.slug,
"category_anchor": self.categories["noc"].anchor,
"item_anchor": "test",
},
)
response = self.client.get(url)
assert response.status_code == 200

Expand Down
Loading
Loading