def setUp(self): super(ChallengeTestCase, self).setUp() self.user = User.objects.create(username='******') self.user.save() self.chall_user = self.user.get_profile().get_extension(ChallengeUser) self.user2 = User.objects.create(username='******') self.user2.save() self.chall_user2 = self.user2.get_profile().get_extension(ChallengeUser) scoring.setup_scoring() ChallengeGame.get_instance().save()
def setUp(self): super(ChallengeApi, self).setUp() Challenge.LIMIT = 5 self.user = User.objects.create_user('_test', '', password='******') self.client.login(username='******', password='******') self.user2 = User.objects.create_user('_test2', '', password='******') self.challuser = self.user.get_profile().get_extension(ChallengeUser) self.challuser2 = self.user2.get_profile().get_extension(ChallengeUser) ChallengeGame.get_instance().save()
def test_this_is_sparta_activity_not_given(self): Artifact.objects.create(group=Artifact.DEFAULT(), name='ach-this-is-sparta') player1 = self._get_player() player2 = self._get_player(2) first_seen = datetime.now() + timedelta(days=-10)#10 days since first login Activity.objects.create(timestamp=first_seen, user_from=player1, user_to=player1, action='seen', public=False) for i in range(1, 7): timestamp = datetime.now() + timedelta(days=-i) if (i % 4) == 0: a = Activity.objects.create(timestamp=timestamp, user_from=player1, user_to=player2, action='chall-refused', public=True) else: a = Activity.objects.create(timestamp=timestamp, user_from=player1, user_to=player2, action='chall-lost', public=True) #send signal to enable achievement validation signals.addActivity.send(sender=None, user_from=player1, user_to=player2, action='chall-refused', game=ChallengeGame.get_instance()) #False due to refused challenge self.assertFalse(player1.magic.has_modifier('ach-this-is-sparta'))
def test_custom_create(self): Challenge.WARRANTY = False game = ChallengeGame.get_instance() p1, p2 = self._get_player(1), self._get_player(2) challenge = Challenge.create_custom(p1, p2, [], game) self.assertTrue(challenge) self.assertEqual(challenge.owner, game)
def test_defeated_better_player_activity(self): Artifact.objects.create(group=None, name='ach-chall-def-big') player1 = self._get_player() player2 = self._get_player(2) player2.level_no = 4 player2.save() for i in range(1, 5): signals.addActivity.send( sender=None, user_from=player1, user_to=player2, action='chall-won', game=ChallengeGame.get_instance()) self.assertFalse(player1.magic.has_modifier('ach-chall-def-big')) signals.addActivity.send( sender=None, user_from=player1, user_to=player2, action='chall-won', game=ChallengeGame.get_instance()) self.assertTrue(player1.magic.has_modifier('ach-chall-def-big'))
def test_custom_create(self): game = ChallengeGame.get_instance() p1, p2 = self._get_player(1), self._get_player(2) challenge = Challenge.create_custom(p1, p2, [], game) self.assertTrue(challenge) self.assertEqual(challenge.owner, game) # TODO: add page tests (views) for challenge run
def test_defeated_better_player_activity(self): Artifact.objects.create(group=None, name='ach-chall-def-big') player1 = self._get_player() player2 = self._get_player(2) player2.level_no = 4 player2.save() for i in range(1, 5): signals.addActivity.send(sender=None, user_from=player1, user_to=player2, action='chall-won', game=ChallengeGame.get_instance()) self.assertFalse(player1.magic.has_modifier('ach-chall-def-big')) signals.addActivity.send(sender=None, user_from=player1, user_to=player2, action='chall-won', game=ChallengeGame.get_instance()) self.assertTrue(player1.magic.has_modifier('ach-chall-def-big'))
def test_chall_10_won_activity(self): Artifact.objects.create(group=None, name='ach-chall-won-10') player = self._get_player() for i in range(1, 10): timestamp = datetime.now() + timedelta(days=-i) a = Activity.objects.create( timestamp=timestamp, user_from=player, user_to=player, action='chall-won', public=True) self.assertFalse(player.magic.has_modifier('ach-chall-won-10')) signals.addActivity.send( sender=None, user_from=player, user_to=player, action='chall-won', game=ChallengeGame.get_instance()) self.assertTrue(player.magic.has_modifier('ach-chall-won-10'))
def test_ach(self): Artifact.objects.create(group=Artifact.DEFAULT(), name='ach-win-fast') player = self._get_player() self.chall.user_from.seconds_took = 30 self.chall.user_from.score = 400 self.chall.user_from.save() self.chall.user_to.seconds_took = 80 self.chall.user_to.score = 300 self.chall.user_to.save() signals.addActivity.send(sender=None, user_from=player, user_to=player, arguments=dict(id=self.chall.id), action="chall-won", game = ChallengeGame.get_instance()) self.assertTrue(player.magic.has_modifier('ach-win-fast'))
def test_chall_10_won_activity(self): Artifact.objects.create(group=None, name='ach-chall-won-10') player = self._get_player() for i in range(1, 10): timestamp = datetime.now() + timedelta(days=-i) a = Activity.objects.create(timestamp=timestamp, user_from=player, user_to=player, action='chall-won', public=True) self.assertFalse(player.magic.has_modifier('ach-chall-won-10')) signals.addActivity.send(sender=None, user_from=player, user_to=player, action='chall-won', game=ChallengeGame.get_instance()) self.assertTrue(player.magic.has_modifier('ach-chall-won-10'))
def test_challenges_played_today_activity(self): player = self._get_player() Artifact.objects.create(group=None, name='ach-chall-10-a-day') for i in range(1, 10): timestamp = datetime.now() if (i % 4) == 0: Activity.objects.create( timestamp=timestamp, user_from=player, user_to=player, action="chall-lost", public=True) else: Activity.objects.create( timestamp=timestamp, user_from=player, user_to=player, action="chall-won", public=True) signals.addActivity.send( sender=None, user_from=player, user_to=player, action='chall-won', game=ChallengeGame.get_instance()) self.assertTrue(player.magic.has_modifier('ach-chall-10-a-day'))
def test_this_is_sparta_activity_passed(self): Artifact.objects.create(group=None, name='ach-this-is-sparta') player1 = self._get_player() player2 = self._get_player(2) first_seen = datetime.now() + timedelta(days=-7) # barely enough time Activity.objects.create( timestamp=first_seen, user_from=player1, user_to=player1, action='seen', public=False) for i in range(1, 5): timestamp = datetime.now() + timedelta(days=-i) a = Activity.objects.create( timestamp=timestamp, user_from=player1, user_to=player2, action='chall-lost', public=True) # send signal to enable achievement validation signals.addActivity.send( sender=None, user_from=player1, user_to=player2, action='chall-won', game=ChallengeGame.get_instance()) # achievement condition earned self.assertTrue(player1.magic.has_modifier('ach-this-is-sparta'))
def test_this_is_sparta_activity(self): Artifact.objects.create(group=Artifact.DEFAULT(), name='ach-this-is-sparta') player1 = self._get_player() player2 = self._get_player(2) for i in range(1, 7): timestamp = datetime.now() + timedelta(days=-i) if (i % 4) == 0: a = Activity.objects.create(timestamp=timestamp, user_from=player1, user_to=player2, action='chall-refused', public=True) else: a = Activity.objects.create(timestamp=timestamp, user_from=player1, user_to=player2, action='chall-lost', public=True) signals.addActivity.send(sender=None, user_from=player1, user_to=player2, action='chall-refused', game=ChallengeGame.get_instance()) self.assertTrue(player1.magic.has_modifier('ach-this-is-sparta'))