def test_reward_punish_tg47(self): canberk, canberk_client = self.create_user_and_user_client() cucu, cucu_client = self.create_user_and_user_client() canberk.verified = True canberk.save() cucu.verified = True cucu.save() home_team = Team.objects.create(name='Fenerbahce') away_team = Team.objects.create(name='Galatasaray') league = League.objects.create(name="Turkish") match = Match.objects.create( home_team=home_team, away_team=away_team, date=datetime.datetime.today(), time=datetime.time(12), league=league ) Game.objects.create( string='tg4-6', odd=3.4, match=match, ) Game.objects.create( string='tg7+', odd=1.2, match=match, ) match.home_first_half_score = 0 match.away_first_half_score = 1 match.home_team_score = 3 match.away_team_score = 2 match.handicap = "-1" match.save() data = { 'text': 'Fener tersten saplar', 'game': 'tg7+', } response = canberk_client.post('/v1/matches/%s/predictions/' % match.id, data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) data = { 'text': 'Fener tersten saplar', 'game': 'tg4-6', } response = cucu_client.post('/v1/matches/%s/predictions/' % match.id, data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) reward_punish_users(match) canberk = User.objects.get(id=canberk.id) cucu = User.objects.get(id=cucu.id) self.assertEqual(canberk.skill_point, -0.12) self.assertEqual(cucu.skill_point, 34.0)
def test_reward_punish_tc(self): enis, enis_client = self.create_user_and_user_client() deniz, deniz_client = self.create_user_and_user_client() enis.verified = True enis.save() deniz.verified = True deniz.save() home_team = Team.objects.create(name='Fenerbahce') away_team = Team.objects.create(name='Galatasaray') league = League.objects.create(name="Turkish") match = Match.objects.create( home_team=home_team, away_team=away_team, date=datetime.datetime.today(), time=datetime.time(12), league=league ) Game.objects.create( string='tctek', odd=3.4, match=match, ) Game.objects.create( string='tccift', odd=1.2, match=match, ) match.home_first_half_score = 0 match.away_first_half_score = 1 match.home_team_score = 2 match.away_team_score = 2 match.handicap = "-1" match.save() data = { 'text': 'Fener tersten saplar', 'game': 'tctek', } response = enis_client.post('/v1/matches/%s/predictions/' % match.id, data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) data = { 'text': 'Fener tersten saplar', 'game': 'tccift', } response = deniz_client.post('/v1/matches/%s/predictions/' % match.id, data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) reward_punish_users(match) enis = User.objects.get(id=enis.id) deniz = User.objects.get(id=deniz.id) self.assertEqual(enis.skill_point, -0.34) self.assertEqual(deniz.skill_point, 12.0)
def test_trophy_progression(self): enis, enis_client = self.create_user_and_user_client() enis.verified = True enis.save() home_team = Team.objects.create(name='Fenerbahce') away_team = Team.objects.create(name='Galatasaray') league = League.objects.create(name="Turkish") TrophyType.objects.create( text="Turkiye Bronz", league=league, description="2 Turkiye tahmini", count=2, ) match = Match.objects.create(home_team=home_team, away_team=away_team, date=datetime.datetime.today(), time=datetime.time(12), league=league) Game.objects.create( string='ms1', odd=1.55, match=match, ) Game.objects.create( string='msx', odd=3.2, match=match, ) Game.objects.create( string='ms2', odd=2.1, match=match, ) data = { 'text': 'Fener tersten saplar', 'game': 'ms1', } response = enis_client.post('/v1/matches/%s/predictions/' % match.id, data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) match.home_first_half_score = 0 match.away_first_half_score = 1 match.home_team_score = 2 match.away_team_score = 1 match.handicap = "-1" match.save() response = enis_client.get("/v1/users/me/trophies/") self.assertEqual(response.data, []) reward_punish_users(match) count = SuccessCount.objects.filter(user=enis) self.assertEqual(count.first().count, 1) match = Match.objects.create(home_team=home_team, away_team=away_team, date=datetime.datetime.today(), time=datetime.time(12), league=league) Game.objects.create( string='ms1', odd=1.55, match=match, ) Game.objects.create( string='msx', odd=3.2, match=match, ) Game.objects.create( string='ms2', odd=2.1, match=match, ) data = { 'text': 'Fener tersten saplar', 'game': 'ms1', } response = enis_client.post('/v1/matches/%s/predictions/' % match.id, data=data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) match.home_first_half_score = 0 match.away_first_half_score = 1 match.home_team_score = 2 match.away_team_score = 1 match.handicap = "-1" match.save() reward_punish_users(match) count = SuccessCount.objects.filter(user=enis) self.assertEqual(count.first().count, 2) trophy = Trophy.objects.filter(user=enis, league=league) self.assertTrue(trophy.exists())