コード例 #1
0
    def test_can_unlike_anon(self, is_authenticated):
        image = Generators.image()
        like = Generators.like(image)

        is_authenticated.return_value = False

        self.assertFalse(UserService(like.user).can_unlike(image))
コード例 #2
0
    def test_can_unlike(self, is_authenticated):
        is_authenticated.return_value = True

        image = Generators.image()
        like = Generators.like(image)

        like.created_on = timezone.now() - timedelta(minutes=59)
        like.save()

        self.assertTrue(UserService(like.user).can_unlike(image))
コード例 #3
0
    def test_can_unlike_out_of_window(self, is_authenticated):
        is_authenticated.return_value = True

        image = Generators.image()
        like = Generators.like(image)

        like.created_on = timezone.now() - timedelta(hours=2)
        like.save()

        self.assertFalse(UserService(like.user).can_unlike(image))
コード例 #4
0
    def test_can_unlike_too_late(self, is_authenticated):
        is_authenticated.return_value = True

        image = Generators.image()
        like = Generators.like(image)

        like.created_on = timezone.now() - timedelta(hours=2)
        like.save()

        self.assertFalse(UserService(like.user).can_unlike(image))
        self.assertEqual("TOO_LATE",
                         UserService(like.user).can_unlike_reason(image))