def test_level_up_if_first_levels_worth_of_points(self): points = economy.sticker_schedule(None) expected_reward = economy.sticker_schedule(None, reward=True) self.user.redis.user_kv.hset('sticker_inbox', points) self.request.user_kv = self.user.redis.user_kv.hgetall() reward = economy.level_up(self.request.user) total_stickers = int(self.user.kv.stickers.currency.get() or 0) self.assertEquals(total_stickers, expected_reward) self.assertEquals(reward, expected_reward)
def test_level_up_twice_together(self): points = economy.sticker_schedule(0) + economy.sticker_schedule(1) expected_reward = economy.sticker_schedule(0, reward=True) + economy.sticker_schedule(1, reward=True) self.user.redis.user_kv.hset('sticker_inbox', points) self.request.user_kv = self.user.redis.user_kv.hgetall() reward = economy.level_up(self.request.user, only_once=False) total_stickers = int(self.user.kv.stickers.currency.get() or 0) self.assertEquals(total_stickers, expected_reward) self.assertEquals(reward, expected_reward)
def test_level_up_twice_together(self): points = economy.sticker_schedule(0) + economy.sticker_schedule(1) expected_reward = economy.sticker_schedule( 0, reward=True) + economy.sticker_schedule(1, reward=True) self.user.redis.user_kv.hset('sticker_inbox', points) self.request.user_kv = self.user.redis.user_kv.hgetall() reward = economy.level_up(self.request.user, only_once=False) total_stickers = int(self.user.kv.stickers.currency.get() or 0) self.assertEquals(total_stickers, expected_reward) self.assertEquals(reward, expected_reward)
def user_level_up(request): reward_stickers = economy.level_up(request.user) return { 'stats': last_sticker.get_info(request.user), 'reward_stickers': reward_stickers }
def test_dont_level_up_if_no_points(self): reward = economy.level_up(self.request.user) total_stickers = int(self.user.kv.stickers.currency.get() or 0) self.assertEquals(reward, 0) self.assertEquals(total_stickers, 0)
def user_level_up(request): reward_stickers = economy.level_up(request.user) return {'stats': last_sticker.get_info(request.user), 'reward_stickers': reward_stickers}