test_delete_user_likes.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.test import RequestFactory
  2. from misago.categories.models import Category
  3. from misago.threads import test
  4. from misago.threads.api.postendpoints.patch_post import patch_is_liked
  5. from misago.threads.models import Post
  6. from misago.users.test import AuthenticatedUserTestCase, create_test_user
  7. class DeleteUserLikesTests(AuthenticatedUserTestCase):
  8. def setUp(self):
  9. super().setUp()
  10. self.factory = RequestFactory()
  11. def get_request(self, user=None):
  12. request = self.factory.get("/customer/details")
  13. request.user = user or self.user
  14. request.user_ip = "127.0.0.1"
  15. return request
  16. def test_anonymize_user_likes(self):
  17. """post's last like is anonymized by user.anonymize_data"""
  18. category = Category.objects.get(slug="first-category")
  19. thread = test.post_thread(category)
  20. post = test.reply_thread(thread)
  21. post.acl = {"can_like": True}
  22. user = create_test_user("OtherUser", "otheruser@example.com")
  23. patch_is_liked(self.get_request(self.user), post, 1)
  24. patch_is_liked(self.get_request(user), post, 1)
  25. user.delete_content()
  26. last_likes = Post.objects.get(pk=post.pk).last_likes
  27. self.assertEqual(
  28. last_likes, [{"id": self.user.id, "username": self.user.username}]
  29. )