Esempio n. 1
0
    def test_success_get_messages(self):
        user_id = factories.create_user()
        recipient_id = factories.create_user()
        text_message = 'qwe'
        chat_db.create_message(user_id, recipient_id, text_message)

        messages = chat_db.get_messages(user_id, recipient_id)
        messages2 = chat_db.get_messages(recipient_id, user_id)

        self.assertEqual((user_id, text_message), (messages[0].user_id, messages[0].text))
        self.assertEqual((user_id, text_message), (messages2[0].user_id, messages2[0].text))
Esempio n. 2
0
    def test_get_empty_messages(self):
        user_id = factories.create_user()
        recipient_id = factories.create_user()
        id_without_message = factories.create_user()
        text_message = 'Hello world'
        chat_db.create_message(user_id, recipient_id, text_message)

        fetched_data = chat_db.get_messages(id_without_message, user_id)
        fetched_data2 = chat_db.get_messages(recipient_id, id_without_message)

        self.assertEqual(fetched_data, [])
        self.assertEqual(fetched_data2, [])
Esempio n. 3
0
    def test_success_create_message(self):
        user_id = factories.create_user()
        recipient_id = factories.create_user()
        text_message = 'Hello world'
        chat_db.create_message(user_id, recipient_id, text_message)

        fetched_query = chat_db.get_messages(user_id, recipient_id)

        self.assertEqual(text_message, fetched_query[0].text)
        self.assertEqual(user_id, fetched_query[0].user_id)
Esempio n. 4
0
def user_chat(request, recipient_id, user_id):

    user_id = int(user_id)
    recipient_id = int(recipient_id)
    message_history = db.get_messages(user_id, recipient_id)
    db.mark_messages_as_read(user_id, recipient_id)
    user = user_db.get_user(user_id=user_id)
    recipient = user_db.get_user(user_id=recipient_id)

    if request.method == 'POST':
        text_message = request.POST['message']
        db.create_message(user_id, recipient_id, text_message)
        return redirect('/chat/user/{}/'.format(recipient_id))

    return render_to_response('chat/user_chat.html', {
        'recipient_id': recipient.id,
        'user_id': user.id,
        'message_history': message_history,
        'user_name': user.username,
        'recipient_name': recipient.username
    })