def test_winner_team_returns_team_one(self): match = MatchFactory(sets_number=3) teams = [TeamFactory() for i in range(2)] match.teams.add(*teams) SetFinishedTeamOneFactory(match=match) SetFinishedTeamOneFactory(match=match) assert match.winner_team.id == teams[0].id
def test_update_game_status_case_one(self): """ Case one description: Match sets to play 3 sets played 2 points 25 game_status: Playing sets [ { game_status: Finished t1: 25 t2: 0 } { game_status: Playing t1: 25 t2: 0 } ] change SET game_status to Finished change MATCH game_status to Finished """ match = MatchFactory(sets_number=3) teams = [TeamFactory() for i in range(2)] match.teams.add(*teams) SetFinishedTeamOneFactory(match=match) _set = SetFinishedTeamOneFactory(match=match) match.update_game_status() assert Set.objects.get( id=_set.id).game_status == Set.GameStatus.FINISHED.value assert match.game_status == Match.GameStatus.FINISHED.value assert Set.objects.filter(match=match).count() == 2
def test_get_team_one_and_team_two_won_sets_returns_two_and_cero(self): match = MatchFactory(sets_number=5) SetFinishedTeamOneFactory(match=match) SetFinishedTeamOneFactory(match=match) team_one, team_two = match.get_team_one_and_team_two_won_sets( match.set_set.all()) assert team_one == 2 assert team_two == 0
def test_new_set_should_be_tie_break_true(self): match = MatchFactory(sets_number=5) teams = [TeamFactory() for i in range(2)] match.teams.add(*teams) SetFinishedTeamTwoFactory(match=match) SetFinishedTeamTwoFactory(match=match) SetFinishedTeamOneFactory(match=match) SetFinishedTeamOneFactory(match=match) assert match.new_set_should_be_tie_break() is True
def test_update_game_status_case_three(self): """ Case three description: Match sets to play 5 sets played 4 points 25 game_status: Playing sets [ { game_status: Finished t1: 25 t2: 0 } { game_status: Playing t1: 25 t2: 0 } { game_status: Finished t1: 0 t2: 25 } { game_status: Finished t1: 0 t2: 25 } ] change SET game status to FINISHED MATCH game status should be PLAYING new SET SHOULD BE CREATED """ match = MatchFactory(sets_number=5) teams = [TeamFactory() for i in range(2)] match.teams.add(*teams) SetFinishedTeamOneFactory(match=match) SetFinishedTeamOneFactory(match=match) SetFinishedTeamTwoFactory(match=match) _set = SetFactory(match=match, team_two_points=25) match.update_game_status() assert Set.objects.get( id=_set.id).game_status == Set.GameStatus.FINISHED.value assert match.game_status == Match.GameStatus.PLAYING.value assert Set.objects.filter(match=match).count() == 5 new_set = Set.objects.filter(match=match).order_by('id').last() assert new_set.game_status == Set.GameStatus.PLAYING.value assert new_set.team_one_points == 0 assert new_set.team_two_points == 0 assert new_set.is_tie_break is True assert new_set.set_number == 5
def test_update_game_status_case_four(self): """ Case four description: Match sets to play 5 sets played 5 points 25 game_status: Playing sets [ { game_status: Finished t1: 25 t2: 0 } { game_status: Playing t1: 25 t2: 0 } { game_status: Finished t1: 0 t2: 25 } { game_status: Finished t1: 0 t2: 25 } { game_status: Finished t1: 0 t2: 15 } ] change SET game status to FINISHED MATCH game status should be FINISHED """ match = MatchFactory(sets_number=5) teams = [TeamFactory() for i in range(2)] match.teams.add(*teams) SetFinishedTeamOneFactory(match=match) SetFinishedTeamOneFactory(match=match) SetFinishedTeamTwoFactory(match=match) SetFinishedTeamTwoFactory(match=match) _set = SetFactory(match=match, team_two_points=15, is_tie_break=True) match.update_game_status() assert Set.objects.get( id=_set.id).game_status == Set.GameStatus.FINISHED.value assert match.game_status == Match.GameStatus.FINISHED.value assert Set.objects.filter(match=match).count() == 5
def test_get_counters(self): match = MatchFactory(sets_number=7) SetFinishedTeamOneFactory(match=match) t1c, t2c = match.get_counters() assert t1c == 1 assert t2c == 0 SetFinishedTeamOneFactory(match=match) t1c, t2c = match.get_counters() assert t1c == 2 assert t2c == 0 SetFinishedTeamTwoFactory(match=match) t1c, t2c = match.get_counters() assert t1c == 2 assert t2c == 1 SetFinishedTeamTwoFactory(match=match) t1c, t2c = match.get_counters() assert t1c == 2 assert t2c == 2
def test_winner_team_no_winner(self): match = MatchFactory(sets_number=3) teams = [TeamFactory() for i in range(2)] match.teams.add(*teams) SetFinishedTeamOneFactory(match=match) assert match.winner_team is None