view messages/tests/test_tasks.py @ 1208:5c8a38122e24 modernize tip

Add unit test for POTD tasks.
author Brian Neal <bgneal@gmail.com>
date Tue, 28 Jan 2025 19:02:18 -0600
parents 80f206a12027
children
line wrap: on
line source
"""
Unit tests for the messages application tasks.

"""
import datetime

from django.test import TestCase
from django.contrib.auth.models import User

from messages.models import Message, Options, Flag
from messages.tasks import purge_messages


class PurgeMessagesTaskTestCase(TestCase):
    """Testing the purge messages celery task."""
    fixtures = ['messages_test_users.json']

    def setUp(self):
        now = datetime.datetime.now()
        pj = User.objects.get(username='pj')
        eddie = User.objects.get(username='eddie')
        pm = Message(sender=pj,
                     receiver=eddie,
                     send_date=now,
                     read_date=now,
                     subject='Test',
                     message='Message',
                     sender_delete_date=now,
                     receiver_delete_date=now)
        pm.save()

    def test_purge_command(self):
        self.assertEqual(Message.objects.all().count(), 1)
        task = purge_messages.s().apply()
        self.assertEqual(Message.objects.all().count(), 0)