| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from django.test import TestCase
-
- from oscar.apps.communication.models import Notification
- from oscar.core.compat import get_user_model
- from oscar.core.loading import get_class
- from oscar.test.factories import UserFactory
-
- User = get_user_model()
-
- Dispatcher = get_class("communication.utils", "Dispatcher")
-
-
- class TestANewNotification(TestCase):
- def setUp(self):
- self.notification = Notification(recipient=UserFactory(), subject="Hello")
-
- def test_is_in_a_users_inbox(self):
- assert Notification.INBOX == self.notification.location
-
- def test_is_not_read(self):
- assert not self.notification.is_read
-
-
- class TestANotification(TestCase):
- def setUp(self):
- self.notification = Notification.objects.create(
- recipient=UserFactory(), subject="Hello"
- )
-
- def test_can_be_archived(self):
- self.notification.archive()
- assert Notification.ARCHIVE == self.notification.location
-
-
- class NotificationServiceTestCase(TestCase):
- def test_notify_a_single_user(self):
- user = UserFactory()
- subj = "Hello you!"
- body = "This is the notification body."
-
- Dispatcher().notify_user(user, subj, body=body)
- user_notification = Notification.objects.get(recipient=user)
- assert user_notification.subject == subj
- assert user_notification.body == body
-
- def test_notify_a_set_of_users(self):
- users = UserFactory.create_batch(3)
- subj = "Hello everyone!"
- body = "This is the notification body."
-
- Dispatcher().notify_users(User.objects.all(), subj, body=body)
- for user in users:
- user_notification = Notification.objects.get(recipient=user)
- assert user_notification.subject == subj
- assert user_notification.body == body
|