def test_get_gamelog_as_json(self): firstGameEntry = DBSetup().create_teamlog_home_and_away() gamelog = GameLog(firstGameEntry) with open(pathlib.Path(__file__).parent / 'testdata/teamlog.json') as f: expected_gamelog = json.load(f) expected_gamelog['gameId'] = firstGameEntry.pk assert gamelog.as_json() == json.dumps(expected_gamelog)
def test_get_home_and_away_team(self): firstGameEntry = DBSetup().create_teamlog_home_and_away() gamelog = GameLog(firstGameEntry) home = Gameresult.objects.get(gameinfo=firstGameEntry, isHome=True).team.name away = Gameresult.objects.get(gameinfo=firstGameEntry, isHome=False).team.name assert gamelog.get_home_team() == home assert gamelog.get_away_team() == away
def test_mark_log_deleted(self): gameinfo = DBSetup().create_teamlog_home_and_away() first_team = Team.objects.first() sequence = 2 gamelog = GameLog(gameinfo) gamelog.mark_entries_as_deleted(sequence) gamelog_list = TeamLog.objects.filter(sequence=sequence) assert gamelog_list[ 0].isDeleted, 'touchdown should be marked as deleted' assert gamelog_list[1].isDeleted, 'PAT should be marked as deleted' actual_gamelog = TeamLog.objects.filter(gameinfo=gameinfo, team=first_team, half=1) actual_gamelog_entries_as_json = gamelog.create_entries_for_half( actual_gamelog) assert actual_gamelog_entries_as_json == [{ 'sequence': 1, 'td': 19, }, { 'sequence': 2, 'td': 19, 'pat2': 7, 'isDeleted': True }, { 'sequence': 3, 'td': 19, 'pat1': 7, }] assert gamelog.get_home_firsthalf_score() == 13 assert gamelog.get_home_score() == 34
def test_create_entries(self): first_game_entry = DBSetup().create_teamlog_home_and_away() first_team = Team.objects.first() gamelog = GameLog(first_game_entry) actual_gamelog = TeamLog.objects.filter(gameinfo=first_game_entry, team=first_team, half=1) actual_gamelog_entries_as_json = gamelog.create_entries_for_half( actual_gamelog) assert actual_gamelog_entries_as_json == [{ 'sequence': 1, 'td': 19, }, { 'sequence': 2, 'td': 19, 'pat2': 7, }, { 'sequence': 3, 'td': 19, 'pat1': 7, }]
def test_entries_per_half(self): firstGameEntry = DBSetup().create_teamlog_home_and_away() gamelog = GameLog(firstGameEntry) assert len(gamelog.get_entries_home_firsthalf()) == 5 assert len(gamelog.get_entries_home_secondhalf()) == 5 assert len(gamelog.get_entries_away_firsthalf()) == 0 assert len(gamelog.get_entries_away_secondhalf()) == 4
def test_get_half_score(self): firstGameEntry = DBSetup().create_teamlog_home_and_away() gamelog = GameLog(firstGameEntry) assert gamelog.get_home_firsthalf_score() == 21 assert gamelog.get_home_secondhalf_score() == 21 assert gamelog.get_away_firsthalf_score() == 0 assert gamelog.get_away_secondhalf_score() == 3
def test_update_score(self): DBSetup().g62_status_empty() team_A1 = Team.objects.get(name='A1') team_A2 = Team.objects.get(name='A2') game = DBSetup().create_teamlog_home_and_away(home=team_A1, away=team_A2) gamelog = GameLog(game) game_service = GameService(game.pk) game_service.update_score(gamelog) assert Gameresult.objects.get(gameinfo=game, team=team_A1).fh == 21 assert Gameresult.objects.get(gameinfo=game, team=team_A1).sh == 21 assert Gameresult.objects.get(gameinfo=game, team=team_A1).pa == 3 assert Gameresult.objects.get(gameinfo=game, team=team_A2).fh == 0 assert Gameresult.objects.get(gameinfo=game, team=team_A2).sh == 3 assert Gameresult.objects.get(gameinfo=game, team=team_A2).pa == 42
def delete_gamelog(self, sequence): gamelog = GameLog(self.gameinfo.gameinfo) gamelog.mark_entries_as_deleted(sequence) return gamelog
def update_score(self, gamelog: GameLog): self.gameresult.save_home_first_half(gamelog.get_home_firsthalf_score(), gamelog.get_away_firsthalf_score()) self.gameresult.save_away_first_half(gamelog.get_away_firsthalf_score(), gamelog.get_home_firsthalf_score()) self.gameresult.save_home_second_half(gamelog.get_home_secondhalf_score(), gamelog.get_away_secondhalf_score()) self.gameresult.save_away_second_half(gamelog.get_away_secondhalf_score(), gamelog.get_home_secondhalf_score())
def get_gamelog(self): return GameLog(self.gameinfo.gameinfo)
def test_secondhalf_is_played(self): firstGameEntry = DBSetup().create_teamlog_home_and_away() firstGameEntry.gameHalftime = '09:57' firstGameEntry.save() gamelog = GameLog(firstGameEntry) assert not gamelog.is_firsthalf()
def test_firsthalf_is_played(self): firstGameEntry = DBSetup().create_teamlog_home_and_away() gamelog = GameLog(firstGameEntry) assert gamelog.is_firsthalf()