mirror of
https://github.com/Hopiu/django-notifications.git
synced 2026-03-28 02:40:23 +00:00
46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
import os
|
|
from unittest import skipUnless
|
|
|
|
from django.contrib.auth.models import User
|
|
import swapper
|
|
|
|
from notifications.signals import notify
|
|
from notifications.tests.tests import AdminTest as BaseAdminTest
|
|
from notifications.tests.tests import NotificationTest as BaseNotificationTest
|
|
|
|
Notification = swapper.load_model('notifications', 'Notification')
|
|
|
|
|
|
@skipUnless(os.environ.get('SAMPLE_APP', False), 'Running tests on standard django-notifications models')
|
|
class AdminTest(BaseAdminTest):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
BaseAdminTest.app_name = 'sample_notifications'
|
|
|
|
|
|
@skipUnless(os.environ.get('SAMPLE_APP', False), 'Running tests on standard django-notifications models')
|
|
class NotificationTest(BaseNotificationTest):
|
|
pass
|
|
|
|
|
|
class TestExtraDataCustomAccessor(NotificationTest):
|
|
def setUp(self):
|
|
self.from_user = User.objects.create_user(username="from_extra", password="pwd", email="example@example.com")
|
|
self.to_user = User.objects.create_user(username="to_extra", password="pwd", email="example@example.com")
|
|
notify.send(
|
|
self.from_user,
|
|
recipient=self.to_user,
|
|
verb='commented',
|
|
action_object=self.from_user,
|
|
url="/learn/ask-a-pro/q/test-question-9/299/",
|
|
other_content="Hello my 'world'",
|
|
details="test detail"
|
|
)
|
|
|
|
def test_extra_data(self):
|
|
notification = Notification.objects.get(details="test detail")
|
|
assert notification, "Expected a notification retrieved by custom extra data accessor"
|
|
assert notification.details == "test detail", "Custom accessor should return set value"
|
|
assert "details" not in notification.data, "Custom accessor should not be in json data"
|