Ejemplo n.º 1
0
    def setUp(self):
        db.create_all()

        user = User(name="Test", email="*****@*****.**", active=True)
        db.session.add(user)

        bra = Team(name='Brasil', alias='BRA')
        arg = Team(name='Argentina', alias='ARG')
        uru = Team(name='Uruguai', alias='URU')
        ale = Team(name='Alemanha', alias='ALE')
        usa = Team(name='Estados Unidos', alias='USA')
        db.session.add(bra)
        db.session.add(arg)
        db.session.add(uru)
        db.session.add(ale)
        db.session.add(usa)

        db.session.commit()

        self.user = user
        self.bra = bra
        self.arg = arg
        self.uru = uru
        self.ale = ale
        self.usa = usa
Ejemplo n.º 2
0
    def test_bet_game_duplicated(self):

        bra = Team(name="Brasil", alias="BRA")
        usa = Team(name="United States", alias="USA")
        time = datetime(2014, 6, 15)
        game = Game(team1=bra, team2=usa, time=time)
        db.session.add(bra)
        db.session.add(usa)
        db.session.add(game)
        db.session.commit()

        with self.client.session_transaction() as sess:
            sess['user_id'] = self.user.id

        data = {'game_id': game.id, 'score_team1': 1, 'score_team2': 1}
        # first request
        response = self.client.post(url_for('.bet_game'), data=data)
        self.assertStatus(response, 302)
        bets = BetGame.query.filter_by(game=game, user=self.user).all()
        self.assertEqual(1, len(bets))
        before = bets[0]
        self.assertIsNone(before.updated_at)

        # again
        response = self.client.post(url_for('.bet_game'), data=data)
        self.assertStatus(response, 302)
        bets = BetGame.query.filter_by(game=game, user=self.user).all()
        self.assertEqual(1, len(bets))
        after = bets[0]
        self.assertIsNotNone(after.updated_at)
Ejemplo n.º 3
0
    def setUp(self):
        db.create_all()

        user = User(name="Test", email="*****@*****.**", active=True)
        db.session.add(user)

        bra = Team(name='Brasil', alias='BRA')
        arg = Team(name='Argentina', alias='ARG')
        db.session.add(bra)
        db.session.add(arg)

        fred = Scorer(name="Fred", team=bra)
        neymar = Scorer(name="Neymar", team=bra)
        messi = Scorer(name="Messi", team=arg)

        db.session.add(fred)
        db.session.add(neymar)
        db.session.add(messi)

        db.session.commit()

        self.user = user
        self.fred = fred
        self.neymar = neymar
        self.messi = messi
Ejemplo n.º 4
0
    def setUp(self):
        db.create_all()
        bra = Team(name='Brasil', alias='BRA')
        arg = Team(name='Argentina', alias='ARG')
        uru = Team(name='Uruguai', alias='URU')
        chi = Team(name='Chile', alias='CHI')
        self.game1 = Game(team1=bra, team2=arg)
        self.game2 = Game(team1=bra, team2=uru)
        self.game3 = Game(team1=bra, team2=chi)
        self.game4 = Game(team1=arg, team2=uru)
        self.game5 = Game(team1=arg, team2=bra)
        self.game6 = Game(team1=arg, team2=chi)
        self.game7 = Game(team1=uru, team2=bra)
        self.game8 = Game(team1=uru, team2=arg)
        self.game9 = Game(team1=uru, team2=chi)

        db.session.add(self.game1)
        db.session.add(self.game2)
        db.session.add(self.game3)
        db.session.add(self.game4)
        db.session.add(self.game5)
        db.session.add(self.game6)
        db.session.add(self.game7)
        db.session.add(self.game8)

        db.session.commit()
Ejemplo n.º 5
0
    def test_view_games_after_limit(self):
        bra = Team(name="Brasil", alias="BRA")
        usa = Team(name="United States", alias="USA")
        time = datetime(2014, 6, 12)
        game = Game(team1=bra, team2=usa, time=time)
        db.session.add(bra)
        db.session.add(usa)
        db.session.add(game)
        db.session.commit()

        with self.client.session_transaction() as sess:
            sess['user_id'] = self.user.id

        response = self.client.get(url_for('.games', show='all'))
        self.assertIn('expirou', response.data)
Ejemplo n.º 6
0
    def setUp(self):
        db.create_all()
        bra = Team(name='Brasil', alias='BRA')
        arg = Team(name='Argentina', alias='ARG')
        game = Game(team1=bra, team2=arg)
        db.session.add(game)

        user = User(name="Test", email="*****@*****.**", active=True)
        user2 = User(name="Test2", email="*****@*****.**", active=True)
        db.session.add(user)
        db.session.add(user2)
        db.session.commit()

        self.game = game
        self.user = user
        self.user2 = user2
Ejemplo n.º 7
0
    def test_bet_game_view_after_limit(self):
        bra = Team(name="Brasil", alias="BRA")
        usa = Team(name="United States", alias="USA")
        now = datetime.now() + timedelta(days=-1)
        game = Game(team1=bra, team2=usa, time=now)
        db.session.add(bra)
        db.session.add(usa)
        db.session.add(game)
        db.session.commit()

        with self.client.session_transaction() as sess:
            sess['user_id'] = self.user.id

        response = self.client.get(url_for('.bet_game_view', game_id=game.id))
        self.assertRedirects(response, url_for('.games'))
        expected_message = u"O prazo para apostar em <strong>%s</strong> expirou." % game
        self.assert_flashes(expected_message, category='warning')
Ejemplo n.º 8
0
    def test_games(self):

        bra = Team(name="Brasil", alias="BRA")
        usa = Team(name="United States", alias="USA")
        now = datetime.now() + timedelta(days=1)
        game = Game(team1=bra, team2=usa, time=now)
        db.session.add(bra)
        db.session.add(usa)
        db.session.add(game)
        db.session.commit()

        with self.client.session_transaction() as sess:
            sess['user_id'] = self.user.id

        response = self.client.get("/jogos")
        self.assert200(response)
        self.assertIn('BRA', response.data)
        self.assertIn('USA', response.data)
        self.assertIn('apostar', response.data)
Ejemplo n.º 9
0
    def test_bet_games_with_inactive_user(self):

        from bolao.views import INACTIVE_USER_MESSAGE

        bra = Team(name="Brasil", alias="BRA")
        usa = Team(name="United States", alias="USA")
        now = datetime.now()
        game = Game(team1=bra, team2=usa, time=now)
        db.session.add(bra)
        db.session.add(usa)
        db.session.add(game)
        db.session.commit()

        user = User(name="Inactive", email="*****@*****.**", active=False)
        db.session.add(user)
        db.session.commit()

        with self.client.session_transaction() as sess:
            sess['user_id'] = user.id
        response = self.client.get(url_for('.bet_game_view', game_id=game.id))
        self.assertRedirects(response, url_for('.games'))
        self.assert_flashes(INACTIVE_USER_MESSAGE, category='warning')
Ejemplo n.º 10
0
    def test_any_position(self):

        t1 = Team(name="T1", alias="T1")
        t2 = Team(name="T2", alias="T2")
        t3 = Team(name="T3", alias="T3")
        t4 = Team(name="T4", alias="T4")

        db.session.add(t1)
        db.session.add(t2)
        db.session.add(t3)
        db.session.add(t4)

        bet = BetChampions(first=self.bra,
                           second=self.arg,
                           third=self.ale,
                           fourth=self.uru,
                           user=self.user)
        db.session.add(bet)
        db.session.commit()

        update_champions(t1, t2, t3, t4)

        self.assertEqual(0, bet.score)
Ejemplo n.º 11
0
    def handle(self, *args, **options):
        print 'Deleting everybody'
        Bet.objects.all().delete()
        Game.objects.all().delete()
        Team.objects.all().delete()
        Group.objects.all().delete()

        print 'Adding stuff again'
        group = Group(name="A")
        group.save()
        team0 = Team(group=group, name='Brasil', code='bra')
        team0.save()
        team1 = Team(group=group, name='Croácia', code='cro')
        team1.save()
        team2 = Team(group=group, name='México', code='mex')
        team2.save()
        team3 = Team(group=group, name='Camarões', code='cam')
        team3.save()

        Game(id=1, home_team=team0, away_team=team1).save()
        Game(id=2, home_team=team2, away_team=team3).save()
        Game(id=17, home_team=team0, away_team=team2).save()
        Game(id=18, home_team=team3, away_team=team1).save()
        Game(id=33, home_team=team3, away_team=team0).save()
        Game(id=34, home_team=team1, away_team=team2).save()

        group = Group(name="B")
        group.save()
        team0 = Team(group=group,  name='Espanha', code='esp')
        team0.save()
        team1 = Team(group=group,  name='Holanda', code='hol')
        team1.save()
        team2 = Team(group=group,  name='Chile', code='chi')
        team2.save()
        team3 = Team(group=group,  name='Austrália', code='aus')
        team3.save()

        Game(id=3, home_team=team0, away_team=team1).save()
        Game(id=4, home_team=team2, away_team=team3).save()
        Game(id=19, home_team=team0, away_team=team2).save()
        Game(id=20, home_team=team3, away_team=team1).save()
        Game(id=35, home_team=team3, away_team=team0).save()
        Game(id=36, home_team=team1, away_team=team2).save()


        group = Group(name="C")
        group.save()
        team0 = Team(group=group,  name='Colômbia', code='col')
        team0.save()
        team1 = Team(group=group,  name='Grécia', code='gre')
        team1.save()
        team2 = Team(group=group,  name='Costa do Marfim', code='cdm')
        team2.save()
        team3 = Team(group=group,  name='Japão', code='jap')
        team3.save()

        Game(id=5, home_team=team0, away_team=team1).save()
        Game(id=6, home_team=team2, away_team=team3).save()
        Game(id=21, home_team=team0, away_team=team2).save()
        Game(id=22, home_team=team3, away_team=team1).save()
        Game(id=37, home_team=team3, away_team=team0).save()
        Game(id=38, home_team=team1, away_team=team2).save()


        group = Group(name="D")
        group.save()
        team0 = Team(group=group,  name='Uruguai', code='uru')
        team0.save()
        team1 = Team(group=group,  name='Costa Rica', code='cos')
        team1.save()
        team2 = Team(group=group,  name='Inglaterra', code='ing')
        team2.save()
        team3 = Team(group=group,  name='Itália', code='ita')
        team3.save()

        Game(id=7, home_team=team0, away_team=team1).save()
        Game(id=8, home_team=team2, away_team=team3).save()
        Game(id=23, home_team=team0, away_team=team2).save()
        Game(id=24, home_team=team3, away_team=team1).save()
        Game(id=39, home_team=team3, away_team=team0).save()
        Game(id=40, home_team=team1, away_team=team2).save()


        group = Group(name="E")
        group.save()
        team0 = Team(group=group,  name='Suíça', code='sui')
        team0.save()
        team1 = Team(group=group,  name='Equador', code='equ')
        team1.save()
        team2 = Team(group=group,  name='França', code='fra')
        team2.save()
        team3 = Team(group=group,  name='Honduras', code='hon')
        team3.save()

        Game(id=9, home_team=team0, away_team=team1).save()
        Game(id=10, home_team=team2, away_team=team3).save()
        Game(id=25, home_team=team0, away_team=team2).save()
        Game(id=26, home_team=team3, away_team=team1).save()
        Game(id=41, home_team=team3, away_team=team0).save()
        Game(id=42, home_team=team1, away_team=team2).save()


        group = Group(name="F")
        group.save()
        team0 = Team(group=group,  name='Argentina', code='arg')
        team0.save()
        team1 = Team(group=group,  name='Bósnia', code='bos')
        team1.save()
        team2 = Team(group=group,  name='Irã', code='ira')
        team2.save()
        team3 = Team(group=group,  name='Nigéria', code='nga')
        team3.save()

        Game(id=11, home_team=team0, away_team=team1).save()
        Game(id=12, home_team=team2, away_team=team3).save()
        Game(id=27, home_team=team0, away_team=team2).save()
        Game(id=28, home_team=team3, away_team=team1).save()
        Game(id=43, home_team=team3, away_team=team0).save()
        Game(id=44, home_team=team1, away_team=team2).save()


        group = Group(name="G")
        group.save()
        team0 = Team(group=group,  name='Alemanha', code='ale')
        team0.save()
        team1 = Team(group=group,  name='Portugal', code='por')
        team1.save()
        team2 = Team(group=group,  name='Gana', code='gan')
        team2.save()
        team3 = Team(group=group,  name='EUA', code='eua')
        team3.save()

        Game(id=13, home_team=team0, away_team=team1).save()
        Game(id=14, home_team=team2, away_team=team3).save()
        Game(id=29, home_team=team0, away_team=team2).save()
        Game(id=30, home_team=team3, away_team=team1).save()
        Game(id=45, home_team=team3, away_team=team0).save()
        Game(id=46, home_team=team1, away_team=team2).save()


        group = Group(name="H")
        group.save()
        team0 = Team(group=group,  name='Bélgica', code='bel')
        team0.save()
        team1 = Team(group=group,  name='Argélia', code='agl')
        team1.save()
        team2 = Team(group=group,  name='Rússia', code='rus')
        team2.save()
        team3 = Team(group=group,  name='Coréia do Sul', code='cor')
        team3.save()

        Game(id=15, home_team=team0, away_team=team1).save()
        Game(id=16, home_team=team2, away_team=team3).save()
        Game(id=31, home_team=team0, away_team=team2).save()
        Game(id=32, home_team=team3, away_team=team1).save()
        Game(id=47, home_team=team3, away_team=team0).save()
        Game(id=48, home_team=team1, away_team=team2).save()

        Game(id=49, stage=Game.ROUND_OF_16).save()
        Game(id=50, stage=Game.ROUND_OF_16).save()
        Game(id=51, stage=Game.ROUND_OF_16).save()
        Game(id=52, stage=Game.ROUND_OF_16).save()
        Game(id=53, stage=Game.ROUND_OF_16).save()
        Game(id=54, stage=Game.ROUND_OF_16).save()
        Game(id=55, stage=Game.ROUND_OF_16).save()
        Game(id=56, stage=Game.ROUND_OF_16).save()
        Game(id=57, stage=Game.QUARTER_FINALS).save()
        Game(id=58, stage=Game.QUARTER_FINALS).save()
        Game(id=59, stage=Game.QUARTER_FINALS).save()
        Game(id=60, stage=Game.QUARTER_FINALS).save()
        Game(id=61, stage=Game.SEMI_FINALS).save()
        Game(id=62, stage=Game.SEMI_FINALS).save()
        Game(id=63, stage=Game.FINALS).save()
        Game(id=64, stage=Game.FINALS).save()

        print 'Done!'
Ejemplo n.º 12
0
 def find_team(name, alias):
     team = Team.query.filter_by(alias=alias).first()
     if not team:
         team = Team(name=name, alias=alias)
         db.session.add(team)
     return team