Ejemplo n.º 1
0
class KarmaActionTests(TestCase):
    def setUp(self):
        super(KarmaActionTests, self).setUp()
        self.user = user(save=True)
        try:
            self.mgr = KarmaManager()
            redis_client('karma').flushdb()
        except RedisError:
            raise SkipTest

    @mock.patch.object(waffle, 'switch_is_active')
    def test_action(self, switch_is_active):
        """Save an action and verify."""
        switch_is_active.return_value = True
        TestAction1(user=self.user).save()
        eq_(3, self.mgr.total_points(self.user))
        eq_(1, self.mgr.total_count(TestAction1, self.user))
        today = date.today()
        eq_(1, self.mgr.day_count(TestAction1, self.user, today))
        eq_(1, self.mgr.month_count(TestAction1, self.user, today.year,
                                    today.month))
        eq_(1, self.mgr.year_count(TestAction1, self.user, today.year))

    @mock.patch.object(waffle, 'switch_is_active')
    def test_two_actions(self, switch_is_active):
        """Save two actions, one twice, and verify."""
        switch_is_active.return_value = True
        TestAction1(user=self.user).save()
        TestAction2(user=self.user).save()
        TestAction2(user=self.user).save()
        eq_(17, self.mgr.total_points(self.user))
        eq_(1, self.mgr.total_count(TestAction1, self.user))
        eq_(2, self.mgr.total_count(TestAction2, self.user))
        today = date.today()
        eq_(1, self.mgr.day_count(TestAction1, self.user, today))
        eq_(1, self.mgr.month_count(TestAction1, self.user, today.year,
                                    today.month))
        eq_(1, self.mgr.year_count(TestAction1, self.user, today.year))
        eq_(2, self.mgr.day_count(TestAction2, self.user, today))
        eq_(2, self.mgr.month_count(TestAction2, self.user, today.year,
                                    today.month))
        eq_(2, self.mgr.year_count(TestAction2, self.user, today.year))
Ejemplo n.º 2
0
class KarmaManagerTests(TestCase):
    def setUp(self):
        super(KarmaManagerTests, self).setUp()
        self.user = user(save=True)
        try:
            self.mgr = KarmaManager()
            redis_client('karma').flushdb()
        except RedisError:
            raise SkipTest

    @mock.patch.object(waffle, 'switch_is_active')
    def test_recalculate_points(self, switch_is_active):
        """Test the recalculate_points method."""
        switch_is_active.return_value = True
        TestAction1(user=self.user).save()  # 3pts
        TestAction1(user=self.user).save()  # 3pts
        TestAction2(user=self.user).save()  # 7pts
        eq_(13, self.mgr.total_points(self.user))
        new_pts = {
            'test-action-1': 15,
            'test-action-2': 12
        }
        self.mgr.recalculate_points(self.user, new_pts)
        eq_(42, self.mgr.total_points(self.user))