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
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
|