您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

test_wishlist.py 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from django.test import TestCase
  2. from oscar.apps.wishlists.models import WishList, WishListSharedEmail
  3. from oscar.core.compat import get_user_model
  4. User = get_user_model()
  5. class TestAWishlist(TestCase):
  6. def test_can_generate_a_random_key(self):
  7. key = WishList.random_key(6)
  8. self.assertTrue(len(key) == 6)
  9. class TestAPublicWishList(TestCase):
  10. def setUp(self):
  11. self.wishlist = WishList(visibility=WishList.PUBLIC, owner=User(id=1))
  12. def test_is_visible_to_anyone(self):
  13. user = User()
  14. self.assertTrue(self.wishlist.is_allowed_to_see(user))
  15. class TestASharedWishList(TestCase):
  16. def setUp(self):
  17. user = User.objects.create(email="test1@example.com")
  18. self.wishlist = WishList.objects.create(visibility=WishList.SHARED, owner=user)
  19. def test_is_visible_to_anyone(self):
  20. user = User()
  21. self.assertFalse(self.wishlist.is_allowed_to_see(user))
  22. def test_is_visible_for_shared_email(self):
  23. WishListSharedEmail.objects.create(
  24. wishlist=self.wishlist, email="test2@example.com"
  25. )
  26. self.assertTrue(
  27. self.wishlist.is_allowed_to_see(User(email="test2@example.com"))
  28. )
  29. class TestAPrivateWishList(TestCase):
  30. def setUp(self):
  31. self.owner = User(id=1)
  32. self.another_user = User(id=2)
  33. self.wishlist = WishList(owner=self.owner)
  34. def test_is_visible_only_to_its_owner(self):
  35. self.assertTrue(self.wishlist.is_allowed_to_see(self.owner))
  36. self.assertFalse(self.wishlist.is_allowed_to_see(self.another_user))
  37. def test_can_only_be_edited_by_its_owner(self):
  38. self.assertTrue(self.wishlist.is_allowed_to_edit(self.owner))
  39. self.assertFalse(self.wishlist.is_allowed_to_edit(self.another_user))