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.

52 lines
1.8 KiB
Python

from __future__ import unicode_literals
from django.test import TestCase
from nano.privmsg.models import PM
from django.contrib.auth import get_user_model
class PMTest(TestCase):
def setUp(self):
User = get_user_model()
self.sender = User.objects.create(username='Sender')
self.recipient = User.objects.create(username='Recipient')
def test_str(self):
item = PM(subject='test', text='Test')
self.assertEqual(str(item), 'test')
test_content = '0123456789'*10
item = PM(text=test_content)
self.assertTrue(len(str(item)) <= 64)
self.assertEqual(str(item), test_content[:64])
def test_save(self):
test_content = '0123456789'*10
item = PM(text=test_content, sender=self.sender, recipient=self.recipient)
item.save()
self.assertEqual(item.subject, test_content[:63]+'\u2026')
def test_is_deleted(self):
item = PM.objects.create(text='test', sender=self.sender, recipient=self.recipient)
self.assertFalse(item.is_deleted())
item.sender_deleted = True
self.assertFalse(item.is_deleted())
item.recipient_deleted = True
self.assertTrue(item.is_deleted())
def test_delete(self):
item = PM.objects.create(text='test', sender=self.sender, recipient=self.recipient)
item.delete()
try:
item = PM.objects.get(text='test')
except PM.DoesNotExist:
self.fail('PM deleted even though not marked for deletion')
item.sender_deleted = True
item.recipient_deleted = True
item.delete()
try:
item = PM.objects.get(text='test')
self.fail('PM not deleted even though marked for deletion')
except PM.DoesNotExist:
pass