Ejemplo n.º 1
0
    def testLottery(self):
        from db.models import User, DiscuzMember
        from server.item import constants, lottery

        lottery.draw(1, 'jiecao')
        lottery.draw(1, 'ppoint')
        lottery.draw(1, 'jiecao')
        lottery.draw(1, 'ppoint')
        lottery.draw(1, 'jiecao')
        lottery.draw(1, 'ppoint')

        s = current_session()
        u = s.query(User).filter(User.id == 1).first()
        eq_(u.ppoint, 1000 - constants.LOTTERY_PRICE * 3)
        if not options.freeplay:
            dz_member = s.query(DiscuzMember).filter(DiscuzMember.uid == 1).first()
            eq_(dz_member.member_count.jiecao, 100000 - constants.LOTTERY_JIECAO_PRICE * 3)

            dz_member.member_count.jiecao = 0
        else:
            u.jiecao = 0

        s.commit()

        with assert_raises(exceptions.InsufficientFunds):
            lottery.draw(1, 'jiecao')
Ejemplo n.º 2
0
 def lottery(self, user, currency):
     reward = lottery.draw(user.account.userid, currency)
     user.write(['lottery_reward', reward])
Ejemplo n.º 3
0
    def testLottery(self):
        from db.models import User, DiscuzMember
        from server.item import constants, lottery

        lottery.draw(1, 'jiecao')
        lottery.draw(1, 'ppoint')
        lottery.draw(1, 'jiecao')
        lottery.draw(1, 'ppoint')
        lottery.draw(1, 'jiecao')
        lottery.draw(1, 'ppoint')

        s = current_session()
        u = s.query(User).filter(User.id == 1).first()
        eq_(u.ppoint, 1000 - constants.LOTTERY_PRICE * 3)
        if not options.freeplay:
            dz_member = s.query(DiscuzMember).filter(
                DiscuzMember.uid == 1).first()
            eq_(dz_member.member_count.jiecao,
                100000 - constants.LOTTERY_JIECAO_PRICE * 3)

            dz_member.member_count.jiecao = 0
        else:
            u.jiecao = 0

        s.commit()

        with assert_raises(exceptions.InsufficientFunds):
            lottery.draw(1, 'jiecao')