diff options
Diffstat (limited to 'group_messaging/tests.py')
-rw-r--r-- | group_messaging/tests.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/group_messaging/tests.py b/group_messaging/tests.py index c8401dc1..93b6b22f 100644 --- a/group_messaging/tests.py +++ b/group_messaging/tests.py @@ -5,6 +5,8 @@ from group_messaging.models import MessageMemo from group_messaging.models import SenderList from group_messaging.models import get_personal_group from group_messaging.models import create_personal_group +from group_messaging.views import ThreadsList +from mock import Mock MESSAGE_TEXT = 'test message text' @@ -116,3 +118,33 @@ class ModelTests(TestCase): self.assertEqual(threads, set([root_message])) threads = set(Message.objects.get_threads_for_user(self.recipient)) self.assertEqual(threads, set([root_message])) + + def test_answer_to_deleted_thread_undeletes_thread(self): + #setup: message, reply, responder deletes thread + root_message = self.create_thread_for_user(self.recipient) + response = Message.objects.create_response( + sender=self.recipient, + text='some response', + parent=root_message + ) + memo1, created = MessageMemo.objects.get_or_create( + message=root_message, + user=self.recipient, + status=MessageMemo.ARCHIVED + ) + #OP sends reply to reply + response2 = Message.objects.create_response( + sender=self.sender, + text='some response2', + parent=response + ) + + view = ThreadsList() + request = Mock(spec=('REQUEST', 'user')) + request.REQUEST = {'sender_id': '-1'} + request.user = self.recipient + context = view.get_context(request) + self.assertEqual(len(context['threads']), 1) + thread_id = context['threads'][0].id + thread_data = context['threads_data'][thread_id] + self.assertEqual(thread_data['status'], 'new') |