Exemple #1
0
    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)
Exemple #2
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)
Exemple #3
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())