def setUp(self): super(ContainerTests, self).setUp() self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption=u'achievement_1', description=u'description_1', approved=True) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=4, points=20, caption=u'achievement_2', description=u'description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=8, points=30, caption=u'achievement_3', description=u'description_3', approved=True) self.container = AchievementsContainer()
def setUp(self): super(AchievementPrototypeTests, self).setUp() self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption='achievement_1', description='description_1', approved=True) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption='achievement_3', description='description_3', approved=True)
def setUp(self): super(AchievementPrototypeTests, self).setUp() self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption=u"achievement_1", description=u"description_1", approved=True, ) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption=u"achievement_2", description=u"description_2", approved=False, ) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption=u"achievement_3", description=u"description_3", approved=True, )
def setUp(self): super(AccountAchievementsPrototypeTests, self).setUp() create_test_map() result, account_id, bundle_id = register_user('test_user_1', '*****@*****.**', '111111') self.account_1 = AccountPrototype.get_by_id(account_id) self.collection_1 = CollectionPrototype.create( caption=u'collection_1', description=u'description_1', approved=True) self.kit_1 = KitPrototype.create(collection=self.collection_1, caption=u'kit_1', description=u'description_1', approved=True) self.item_1_1 = ItemPrototype.create(kit=self.kit_1, caption=u'item_1_1', text=u'text_1_1', approved=False) self.item_1_2 = ItemPrototype.create(kit=self.kit_1, caption=u'item_1_2', text=u'text_1_2', approved=True) self.item_1_3 = ItemPrototype.create(kit=self.kit_1, caption=u'item_1_3', text=u'text_1_3', approved=True) self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption=u'achievement_1', description=u'description_1', approved=True, item_1=self.item_1_1, item_2=self.item_1_2) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption=u'achievement_2', description=u'description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption=u'achievement_3', description=u'description_3', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id( self.account_1.id)
def setUp(self): super(_BaseRequestTests, self).setUp() create_test_map() result, account_id, bundle_id = register_user('test_user_1', '*****@*****.**', '111111') self.account_1 = AccountPrototype.get_by_id(account_id) result, account_id, bundle_id = register_user('test_user_2', '*****@*****.**', '111111') self.account_2 = AccountPrototype.get_by_id(account_id) group_edit = sync_group('edit achievement', ['achievements.edit_achievement']) group_edit.user_set.add(self.account_2._model) self.achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption=u'achievement_1', description=u'description_1', approved=True) self.achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption=u'achievement_2', description=u'description_2', approved=False) self.achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption=u'achievement_3', description=u'description_3', approved=True) self.collection_1 = CollectionPrototype.create(caption=u'collection_1', description=u'description_1', approved=True) self.kit_1 = KitPrototype.create(collection=self.collection_1, caption=u'kit_1', description=u'description_1', approved=True) self.item_1_1 = ItemPrototype.create(kit=self.kit_1, caption=u'item_1_1', text=u'text_1_1', approved=True) self.item_1_2 = ItemPrototype.create(kit=self.kit_1, caption=u'item_1_2', text=u'text_1_2', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id(self.account_1.id) self.account_achievements_1.achievements.add_achievement(self.achievement_1) self.account_achievements_1.save()
def setUp(self): super(AchievementsManagerTests, self).setUp() create_test_map() result, account_id, bundle_id = register_user('test_user_1', '*****@*****.**', '111111') self.account_1 = AccountPrototype.get_by_id(account_id) result, account_id, bundle_id = register_user('test_user_2', '*****@*****.**', '111111') self.account_2 = AccountPrototype.get_by_id(account_id) group_edit = sync_group('edit achievement', ['achievements.edit_achievement']) group_edit.user_set.add(self.account_2._model) self.achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption=u'achievement_1', description=u'description_1', approved=True) self.achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=5, points=10, caption=u'achievement_2', description=u'description_2', approved=False) self.achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.DEATHS, barrier=4, points=10, caption=u'achievement_3', description=u'description_3', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id(self.account_1.id) self.account_achievements_1.achievements.add_achievement(self.achievement_1) self.account_achievements_1.save() self.worker = environment.workers.achievements_manager self.worker.initialize()
def setUp(self): super(_BaseRequestTests, self).setUp() create_test_map() self.account_1 = self.accounts_factory.create_account() self.account_2 = self.accounts_factory.create_account() group_edit = sync_group('edit achievement', ['achievements.edit_achievement']) group_edit.user_set.add(self.account_2._model) self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption='achievement_1', description='description_1', approved=True) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption='achievement_3', description='description_3', approved=True) self.collection_1 = CollectionPrototype.create( caption='collection_1', description='description_1', approved=True) self.kit_1 = KitPrototype.create(collection=self.collection_1, caption='kit_1', description='description_1', approved=True) self.item_1_1 = ItemPrototype.create(kit=self.kit_1, caption='item_1_1', text='text_1_1', approved=True) self.item_1_2 = ItemPrototype.create(kit=self.kit_1, caption='item_1_2', text='text_1_2', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id( self.account_1.id) self.account_achievements_1.achievements.add_achievement( self.achievement_1) self.account_achievements_1.save()
def setUp(self): super(AccountAchievementsPrototypeTests, self).setUp() create_test_map() self.account_1 = self.accounts_factory.create_account() self.collection_1 = CollectionPrototype.create( caption='collection_1', description='description_1', approved=True) self.kit_1 = KitPrototype.create(collection=self.collection_1, caption='kit_1', description='description_1', approved=True) self.item_1_1 = ItemPrototype.create(kit=self.kit_1, caption='item_1_1', text='text_1_1', approved=False) self.item_1_2 = ItemPrototype.create(kit=self.kit_1, caption='item_1_2', text='text_1_2', approved=True) self.item_1_3 = ItemPrototype.create(kit=self.kit_1, caption='item_1_3', text='text_1_3', approved=True) self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption='achievement_1', description='description_1', approved=True, item_1=self.item_1_1, item_2=self.item_1_2) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption='achievement_3', description='description_3', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id( self.account_1.id)
def setUp(self): super(ContainerTests, self).setUp() self.achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption='achievement_1', description='description_1', approved=True) self.achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=4, points=20, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=8, points=30, caption='achievement_3', description='description_3', approved=True) self.container = AchievementsContainer()
def setUp(self): super(AccountAchievementsPrototypeTests, self).setUp() create_test_map() result, account_id, bundle_id = register_user("test_user_1", "*****@*****.**", "111111") self.account_1 = AccountPrototype.get_by_id(account_id) self.collection_1 = CollectionPrototype.create( caption=u"collection_1", description=u"description_1", approved=True ) self.kit_1 = KitPrototype.create( collection=self.collection_1, caption=u"kit_1", description=u"description_1", approved=True ) self.item_1_1 = ItemPrototype.create(kit=self.kit_1, caption=u"item_1_1", text=u"text_1_1", approved=False) self.item_1_2 = ItemPrototype.create(kit=self.kit_1, caption=u"item_1_2", text=u"text_1_2", approved=True) self.item_1_3 = ItemPrototype.create(kit=self.kit_1, caption=u"item_1_3", text=u"text_1_3", approved=True) self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption=u"achievement_1", description=u"description_1", approved=True, item_1=self.item_1_1, item_2=self.item_1_2, ) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption=u"achievement_2", description=u"description_2", approved=False, ) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption=u"achievement_3", description=u"description_3", approved=True, ) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id(self.account_1.id)
def setUp(self): super(AchievementsManagerTests, self).setUp() create_test_map() self.account_1 = self.accounts_factory.create_account() self.account_2 = self.accounts_factory.create_account() group_edit = sync_group('edit achievement', ['achievements.edit_achievement']) group_edit.user_set.add(self.account_2._model) self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption='achievement_1', description='description_1', approved=True) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=5, points=10, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.DEATHS, barrier=4, points=10, caption='achievement_3', description='description_3', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id( self.account_1.id) self.account_achievements_1.achievements.add_achievement( self.achievement_1) self.account_achievements_1.save() self.worker = environment.workers.achievements_manager self.worker.initialize() pm_logic.debug_clear_service()
def test_legendary_achievements(self): achievement_4 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.LEGENDS, type=ACHIEVEMENT_TYPE.LEGENDS, barrier=0, points=0, caption=u'achievement_4', description=u'description_4', approved=True) self.account_achievements_1.achievements.add_achievement(achievement_4) self.account_achievements_1.save() GiveAchievementTaskPrototype.create(account_id=None, achievement_id=achievement_4.id) account_achievements_2 = AccountAchievementsPrototype.get_by_account_id( self.account_2.id) self.assertTrue( self.account_achievements_1.has_achievement(achievement_4)) self.assertFalse(account_achievements_2.has_achievement(achievement_4)) with self.check_not_changed(MessagePrototype._db_count): self.worker.add_achievements() self.account_achievements_1.reload() account_achievements_2.reload() self.assertTrue( self.account_achievements_1.has_achievement(achievement_4)) self.assertFalse(account_achievements_2.has_achievement(achievement_4)) self.assertEqual(GiveAchievementTaskPrototype._db_count(), 0)
def test_success(self): self.request_login(self.account_2.email) with self.check_delta(AchievementPrototype._db_all().count, 1): response = self.post_ajax_json(self.test_url, self.get_post_data()) achievement = AchievementPrototype._db_get_object(3) self.check_ajax_ok(response, data={'next_url': url('accounts:achievements:group', achievement.group.slug)}) self.assertEqual(achievement.caption, 'caption_create') self.assertEqual(achievement.description, 'description_create') self.assertEqual(achievement.type, ACHIEVEMENT_TYPE.DEATHS) self.assertEqual(achievement.group, ACHIEVEMENT_GROUP.DEATHS) self.assertEqual(achievement.barrier, 777) self.assertEqual(achievement.points, 20) self.assertFalse(achievement.approved) self.assertEqual(achievement.item_1.id, self.item_1_1.id) self.assertEqual(achievement.item_2, None) self.assertEqual(achievement.item_3, None)
def setUp(self): super(StorageTests, self).setUp() create_test_map() result, account_id, bundle_id = register_user('test_user_1', '*****@*****.**', '111111') self.account_1 = AccountPrototype.get_by_id(account_id) self.achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption=u'achievement_1', description=u'description_1', approved=True) self.achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption=u'achievement_2', description=u'description_2', approved=False) self.achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption=u'achievement_3', description=u'description_3', approved=True) self.achievement_4 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=3, points=10, caption=u'achievement_4', description=u'description_4', approved=True) self.achievement_5 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=4, points=10, caption=u'achievement_5', description=u'description_5', approved=True) self.achievement_6 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=2, points=10, caption=u'achievement_6', description=u'description_6', approved=True)
def setUp(self): super(AccountAchievementsPrototypeTests, self).setUp() create_test_map() self.account_1 = self.accounts_factory.create_account() self.collection_1 = CollectionPrototype.create(caption='collection_1', description='description_1', approved=True) self.kit_1 = KitPrototype.create(collection=self.collection_1, caption='kit_1', description='description_1', approved=True) self.item_1_1 = ItemPrototype.create(kit=self.kit_1, caption='item_1_1', text='text_1_1', approved=False) self.item_1_2 = ItemPrototype.create(kit=self.kit_1, caption='item_1_2', text='text_1_2', approved=True) self.item_1_3 = ItemPrototype.create(kit=self.kit_1, caption='item_1_3', text='text_1_3', approved=True) self.achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption='achievement_1', description='description_1', approved=True, item_1=self.item_1_1, item_2=self.item_1_2) self.achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=3, points=10, caption='achievement_3', description='description_3', approved=True) self.account_achievements_1 = AccountAchievementsPrototype.get_by_account_id(self.account_1.id)
def test_change_pvp_battles_1x1_victories__multiple_victories_achievements(self): from the_tale.accounts.achievements.relations import ACHIEVEMENT_GROUP, ACHIEVEMENT_TYPE from the_tale.accounts.achievements.prototypes import AchievementPrototype, GiveAchievementTaskPrototype achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=10, points=10, caption='achievement_1', description='description_1', approved=True) achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=20, points=10, caption='achievement_2', description='description_2', approved=True) achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=30, points=10, caption='achievement_3', description='description_3', approved=True) achievement_4 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=40, points=10, caption='achievement_4', description='description_4', approved=True) self.assertEqual(self.hero.statistics.pvp_battles_1x1_number, 16) with self.check_not_changed(GiveAchievementTaskPrototype._db_count): self.hero.statistics.change_pvp_battles_1x1_draws(400) self.hero.statistics.change_pvp_battles_1x1_defeats(300) with self.check_delta(GiveAchievementTaskPrototype._db_count, 3): self.hero.statistics.change_pvp_battles_1x1_victories(300) self.assertEqual(set(GiveAchievementTaskPrototype._db_all().values_list('achievement_id', flat=True)), set([achievement_1.id, achievement_2.id, achievement_3.id])) with self.check_delta(GiveAchievementTaskPrototype._db_count, 1): self.hero.statistics.change_pvp_battles_1x1_victories(200) self.assertEqual(set(GiveAchievementTaskPrototype._db_all().values_list('achievement_id', flat=True)), set([achievement_1.id, achievement_2.id, achievement_3.id, achievement_4.id])) self.assertEqual(self.hero.statistics.pvp_battles_1x1_number, 1216) self.assertEqual(self.hero.statistics.pvp_battles_1x1_victories, 516) self.assertEqual(self.hero.statistics.pvp_battles_1x1_defeats, 300) self.assertEqual(self.hero.statistics.pvp_battles_1x1_draws, 400)
def test_success(self): self.request_login(self.account_2.email) with self.check_delta(AchievementPrototype._db_all().count, 1): response = self.post_ajax_json(self.test_url, self.get_post_data()) achievement = AchievementPrototype._db_get_object(3) self.check_ajax_ok(response, data={ 'next_url': url('accounts:achievements:group', achievement.group.slug) }) self.assertEqual(achievement.caption, 'caption_create') self.assertEqual(achievement.description, 'description_create') self.assertEqual(achievement.type, ACHIEVEMENT_TYPE.DEATHS) self.assertEqual(achievement.group, ACHIEVEMENT_GROUP.DEATHS) self.assertEqual(achievement.barrier, 777) self.assertEqual(achievement.points, 20) self.assertFalse(achievement.approved) self.assertEqual(achievement.item_1.id, self.item_1_1.id) self.assertEqual(achievement.item_2, None) self.assertEqual(achievement.item_3, None)
def create(self): form = NewAchievementForm(self.request.POST) if not form.is_valid(): return self.json_error('accounts.achievements.create.form_errors', form.errors) achievement = AchievementPrototype.create(group=form.c.group, type=form.c.type, caption=form.c.caption, description=form.c.description, approved=False, barrier=form.c.barrier, points=form.c.points, item_1=form.c.item_1, item_2=form.c.item_2, item_3=form.c.item_3) return self.json_ok(data={'next_url': url('accounts:achievements:group', achievement.group.slug)})
def create(self): form = NewAchievementForm(self.request.POST) if not form.is_valid(): return self.json_error('accounts.achievements.create.form_errors', form.errors) achievement = AchievementPrototype.create( group=form.c.group, type=form.c.type, caption=form.c.caption, description=form.c.description, approved=False, barrier=form.c.barrier, points=form.c.points, item_1=form.c.item_1, item_2=form.c.item_2, item_3=form.c.item_3) return self.json_ok(data={ 'next_url': url('accounts:achievements:group', achievement.group.slug) })
def test_legendary_achievements(self): achievement_4 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.LEGENDS, type=ACHIEVEMENT_TYPE.LEGENDS, barrier=0, points=0, caption=u'achievement_4', description=u'description_4', approved=True) self.account_achievements_1.achievements.add_achievement(achievement_4) self.account_achievements_1.save() GiveAchievementTaskPrototype.create(account_id=None, achievement_id=achievement_4.id) account_achievements_2 = AccountAchievementsPrototype.get_by_account_id(self.account_2.id) self.assertTrue(self.account_achievements_1.has_achievement(achievement_4)) self.assertFalse(account_achievements_2.has_achievement(achievement_4)) with self.check_not_changed(MessagePrototype._db_count): self.worker.add_achievements() self.account_achievements_1.reload() account_achievements_2.reload() self.assertTrue(self.account_achievements_1.has_achievement(achievement_4)) self.assertFalse(account_achievements_2.has_achievement(achievement_4)) self.assertEqual(GiveAchievementTaskPrototype._db_count(), 0)
def setUp(self): super(StorageTests, self).setUp() create_test_map() self.account_1 = self.accounts_factory.create_account() self.achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption='achievement_1', description='description_1', approved=True) self.achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption='achievement_2', description='description_2', approved=False) self.achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption='achievement_3', description='description_3', approved=True) self.achievement_4 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=3, points=10, caption='achievement_4', description='description_4', approved=True) self.achievement_5 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=4, points=10, caption='achievement_5', description='description_5', approved=True) self.achievement_6 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=2, points=10, caption='achievement_6', description='description_6', approved=True)
def setUp(self): super(StorageTests, self).setUp() create_test_map() result, account_id, bundle_id = register_user('test_user_1', '*****@*****.**', '111111') self.account_1 = AccountPrototype.get_by_id(account_id) self.achievement_1 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=0, points=10, caption=u'achievement_1', description=u'description_1', approved=True) self.achievement_2 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=1, points=10, caption=u'achievement_2', description=u'description_2', approved=False) self.achievement_3 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=2, points=10, caption=u'achievement_3', description=u'description_3', approved=True) self.achievement_4 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=3, points=10, caption=u'achievement_4', description=u'description_4', approved=True) self.achievement_5 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.MONEY, barrier=4, points=10, caption=u'achievement_5', description=u'description_5', approved=True) self.achievement_6 = AchievementPrototype.create(group=ACHIEVEMENT_GROUP.TIME, type=ACHIEVEMENT_TYPE.TIME, barrier=2, points=10, caption=u'achievement_6', description=u'description_6', approved=True)
def test_form_errors(self): self.request_login(self.account_2.email) with self.check_not_changed(AchievementPrototype._db_all().count): self.check_ajax_error(self.post_ajax_json(self.test_url, {}), 'accounts.achievements.create.form_errors')
def test_edit_rights_required(self): self.request_login(self.account_1.email) with self.check_not_changed(AchievementPrototype._db_all().count): self.check_ajax_error( self.post_ajax_json(self.test_url, self.get_post_data()), 'accounts.achievements.no_edit_rights')
def test_login_required(self): with self.check_not_changed(AchievementPrototype._db_all().count): self.check_ajax_error( self.post_ajax_json(self.test_url, self.get_post_data()), 'common.login_required')
def test_save__exception_when_saved_not_stoage_model(self): self.assertRaises( exceptions.SaveNotRegisteredAchievementError, AchievementPrototype.get_by_id(self.achievement_1.id).save )
def test_change_pvp_battles_1x1_victories__multiple_victories_achievements( self): from the_tale.accounts.achievements.relations import ACHIEVEMENT_GROUP, ACHIEVEMENT_TYPE from the_tale.accounts.achievements.prototypes import AchievementPrototype, GiveAchievementTaskPrototype achievement_1 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=10, points=10, caption=u'achievement_1', description=u'description_1', approved=True) achievement_2 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=20, points=10, caption=u'achievement_2', description=u'description_2', approved=True) achievement_3 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=30, points=10, caption=u'achievement_3', description=u'description_3', approved=True) achievement_4 = AchievementPrototype.create( group=ACHIEVEMENT_GROUP.MONEY, type=ACHIEVEMENT_TYPE.PVP_VICTORIES_1X1, barrier=40, points=10, caption=u'achievement_4', description=u'description_4', approved=True) self.assertEqual(self.hero.statistics.pvp_battles_1x1_number, 16) with self.check_not_changed(GiveAchievementTaskPrototype._db_count): self.hero.statistics.change_pvp_battles_1x1_draws(400) self.hero.statistics.change_pvp_battles_1x1_defeats(300) with self.check_delta(GiveAchievementTaskPrototype._db_count, 3): self.hero.statistics.change_pvp_battles_1x1_victories(300) self.assertEqual( set(GiveAchievementTaskPrototype._db_all().values_list( 'achievement_id', flat=True)), set([achievement_1.id, achievement_2.id, achievement_3.id])) with self.check_delta(GiveAchievementTaskPrototype._db_count, 1): self.hero.statistics.change_pvp_battles_1x1_victories(200) self.assertEqual( set(GiveAchievementTaskPrototype._db_all().values_list( 'achievement_id', flat=True)), set([ achievement_1.id, achievement_2.id, achievement_3.id, achievement_4.id ])) self.assertEqual(self.hero.statistics.pvp_battles_1x1_number, 1216) self.assertEqual(self.hero.statistics.pvp_battles_1x1_victories, 516) self.assertEqual(self.hero.statistics.pvp_battles_1x1_defeats, 300) self.assertEqual(self.hero.statistics.pvp_battles_1x1_draws, 400)
def test_login_required(self): with self.check_not_changed(AchievementPrototype._db_all().count): self.check_ajax_error(self.post_ajax_json(self.test_url, self.get_post_data()), 'common.login_required')
def test_save__exception_when_saved_not_stoage_model(self): self.assertRaises(exceptions.SaveNotRegisteredAchievementError, AchievementPrototype.get_by_id(self.achievement_1.id).save)
def test_edit_rights_required(self): self.request_login(self.account_1.email) with self.check_not_changed(AchievementPrototype._db_all().count): self.check_ajax_error(self.post_ajax_json(self.test_url, self.get_post_data()), 'accounts.achievements.no_edit_rights')