You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from django.test import TestCase
|
|
from django.conf import settings
|
|
from django.contrib.auth.models import User
|
|
from mailer.rules import is_creator
|
|
from mailer.models import Message
|
|
from members.models import Member, MALE
|
|
|
|
|
|
class MailerRulesTestCase(TestCase):
|
|
def setUp(self):
|
|
self.user1 = User.objects.create_user(username="alice", password="test123")
|
|
self.member1 = Member.objects.create(
|
|
prename="Alice", lastname="Smith", birth_date="1990-01-01",
|
|
email=settings.TEST_MAIL, gender=MALE, user=self.user1
|
|
)
|
|
|
|
self.message = Message.objects.create(
|
|
subject="Test Message",
|
|
content="Test content",
|
|
created_by=self.member1
|
|
)
|
|
|
|
def test_is_creator_returns_true_when_user_created_message(self):
|
|
"""Test is_creator predicate returns True when user created the message"""
|
|
result = is_creator(self.user1, self.message)
|
|
self.assertTrue(result)
|
|
|
|
def test_is_creator_returns_false_when_message_is_none(self):
|
|
"""Test is_creator predicate returns False when message is None"""
|
|
result = is_creator(self.user1, None)
|
|
self.assertFalse(result)
|