def test_messages_view(self):
        messages1 = MessageModelFactory.create_batch(250,
                                                     sender=self.user1,
                                                     recipient=self.user2)
        messages2 = MessageModelFactory.create_batch(250,
                                                     sender=self.user2,
                                                     recipient=self.user1)
        messages = messages1 + messages2
        response = self.client1.get(
            reverse('django_private_chat2:all_messages_list'), follow=True)
        content = json.loads(response.content)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(content['pages'], 500 / settings.MESSAGES_PAGINATION)
        self.assertEqual(len(content['data']), settings.MESSAGES_PAGINATION)

        response = self.client2.get(
            reverse('django_private_chat2:all_messages_list'), follow=True)
        content2 = json.loads(response.content)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(content2['pages'], 500 / settings.MESSAGES_PAGINATION)
        self.assertEqual(len(content2['data']), settings.MESSAGES_PAGINATION)

        for m in messages2:
            self.assertIn(serialize_message_model(m, self.user1.id),
                          content['data'])
            self.assertIn(serialize_message_model(m, self.user2.id),
                          content2['data'])

        # creating these messages to pollute the 'all' response
        user3 = User.objects.create_user(username='******',
                                         email='*****@*****.**',
                                         password='******')

        MessageModelFactory.create_batch(250,
                                         sender=self.user1,
                                         recipient=user3)
        response = self.client1.get(reverse(
            'django_private_chat2:messages_list',
            kwargs={"dialog_with": self.user2.id}),
                                    follow=True)
        content = json.loads(response.content)
        self.assertEqual(response.status_code, 200)
        for m in messages2:
            self.assertIn(serialize_message_model(m, self.user1.id),
                          content['data'])
Exemple #2
0
 def test_serialize_dialog_model(self):
     serialized = serialize_dialog_model(self.dialog, self.sender.pk)
     o = {
         "id": self.dialog.id,
         "created": int(self.dialog.created.timestamp()),
         "modified": int(self.dialog.modified.timestamp()),
         "other_user_id": str(self.recipient.id),
         "unread_count": 0,
         "username": self.recipient.username,
         "last_message": serialize_message_model(self.message,
                                                 self.sender.pk)
     }
     self.assertEqual(serialized, o)
Exemple #3
0
 def test_serialize_message_model(self):
     serialized = serialize_message_model(self.message, self.sender.pk)
     o = {
         "id": self.message.id,
         "text": "testText",
         "sent": int(self.message.created.timestamp()),
         "edited": int(self.message.modified.timestamp()),
         "read": True,
         "file": None,
         "sender": str(self.sender.pk),
         "recipient": str(self.recipient.pk),
         "out": True,
         "sender_username": self.sender.username
     }
     self.assertEqual(serialized, o)
Exemple #4
0
 def test_serialize_message_with_file(self):
     msg = MessageModel.objects.create(sender=self.sender,
                                       recipient=self.recipient,
                                       file=self.file,
                                       read=True)
     serialized = serialize_message_model(msg, self.sender.pk)
     o = {
         "id": msg.id,
         "text": '',
         "sent": int(msg.created.timestamp()),
         "edited": int(msg.modified.timestamp()),
         "read": True,
         "file": serialize_file_model(self.file),
         "sender": str(self.sender.pk),
         "recipient": str(self.recipient.pk),
         "out": True,
         "sender_username": self.sender.username
     }
     self.assertEqual(serialized, o)