From 42985176cf8809d6dd090799c0bf8241dc1bc113 Mon Sep 17 00:00:00 2001 From: Louis Fogel Date: Sun, 2 Nov 2014 13:48:37 -0500 Subject: [PATCH] Adds test for [#24] (challenges being counted multiple times for the same team). Currently failing. --- goatctf/tests/test_team.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/goatctf/tests/test_team.py b/goatctf/tests/test_team.py index 694b2e0..9288c46 100644 --- a/goatctf/tests/test_team.py +++ b/goatctf/tests/test_team.py @@ -102,6 +102,23 @@ def test_leaderboard_sorts_by_points(challenge, player_factory, fresh_team): len(leaderboard) == 2) +@pytest.mark.django_db +def test_leaderboard_counts_challenges_once(challenge, player_factory, fresh_team): + other_challenge = Challenge(points=300, name="Challenge2") + other_challenge.save() + other_team = Team(name="Team with Score", creator=player_factory.get()) + other_team.save() + member = Player(username='player', password='', team=other_team) + member.save() + Solution(challenge=challenge, solver=member).save() + Solution(challenge=challenge, solver=other_team.creator).save() + Solution(challenge=other_challenge, solver=fresh_team.creator).save() + leaderboard = Team.get_leaderboard() + assert (leaderboard[0] == other_team and + leaderboard[1] == fresh_team and + len(leaderboard) == 2) + + @pytest.mark.django_db def test_leaderboard_sorts_by_points_and_time(challenge, player_factory, fresh_team): team1 = Team(name="1st Team with Score", creator=player_factory.get())