31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
import pytest
|
|
from django.urls import reverse
|
|
from rest_framework import status
|
|
|
|
from ncircc.models.notification import Notification
|
|
from notifications.models import Notification
|
|
from notifications.services.notification_sender import NotificationService
|
|
|
|
|
|
@pytest.mark.django_db
|
|
@pytest.mark.unit
|
|
class TestNotificationsService:
|
|
"""Test Notifications API"""
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def setup_test(self, add_user_with_permissions, django_user_model):
|
|
self.admin = django_user_model.objects.get()
|
|
self.user = add_user_with_permissions(username='test_user', password='TesTPasWord1', is_superuser=True)
|
|
self.notification = Notification.objects.create(text='Notification')
|
|
|
|
def test_create_notification_with_data(self, api_client):
|
|
assert Notification.objects.count() == 1
|
|
api_client.force_authenticate(self.admin)
|
|
NotificationService().send(data={'text': 'test notification'})
|
|
url = reverse('notifications-list')
|
|
|
|
response = api_client.get(url)
|
|
assert response.status_code == status.HTTP_200_OK
|
|
assert response.json()['count'] == 2
|
|
|
|
assert response.json()['results'][1]['text'] == 'test notification'
|