Skip to content

Commit 99c50b1

Browse files
committed
Fix and update tests
1 parent bf52f82 commit 99c50b1

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

test/cadet_web/admin_controllers/admin_teams_controller_test.exs

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,39 @@ defmodule CadetWeb.AdminTeamsControllerTest do
2828
end
2929

3030
@tag authenticate: :staff
31-
test "returns a list of teams", %{conn: conn} do
31+
test "returns a list of teams for the specified course only", %{conn: conn} do
3232
course_id = conn.assigns.course_id
33-
team = insert(:team)
34-
insert(:team_member, %{team: team})
35-
insert(:team_member, %{team: team})
33+
course = Repo.get(Course, course_id)
34+
assessment = insert(:assessment, %{course: course, max_team_size: 2})
35+
team1 = insert(:team, %{assessment: assessment})
36+
insert(:team_member, %{team: team1})
37+
insert(:team_member, %{team: team1})
38+
team2 = insert(:team, %{assessment: assessment})
39+
insert(:team_member, %{team: team2})
40+
insert(:team_member, %{team: team2})
3641

3742
conn = get(conn, build_url(course_id))
3843
assert response(conn, 200)
3944

40-
response_body = conn.resp_body |> Jason.decode!()
41-
assert Enum.any?(response_body, fn team_map -> team_map["teamId"] == team.id end)
45+
# Insert other random teams to test filtering
46+
other_course = insert(:course)
47+
other_assessment = insert(:assessment, %{course: other_course, max_team_size: 2})
48+
team3 = insert(:team, %{assessment: other_assessment})
49+
insert(:team_member, %{team: team3})
50+
insert(:team_member, %{team: team3})
51+
52+
response_body =
53+
conn.resp_body
54+
|> Jason.decode!()
55+
# Sort the teams by teamId for consistent testing
56+
|> Enum.sort_by(& &1["teamId"])
57+
58+
assert is_list(response_body)
59+
assert length(response_body) == 2
60+
assert response_body |> hd() |> Map.get("teamId") == team1.id
61+
assert response_body |> hd() |> Map.get("assessmentId") == assessment.id
62+
assert response_body |> tl() |> hd() |> Map.get("teamId") == team2.id
63+
assert response_body |> tl() |> hd() |> Map.get("assessmentId") == assessment.id
4264
end
4365
end
4466

0 commit comments

Comments
 (0)