import pytest from werkzeug import exceptions from flask_login import login_user from flaskbb.message import views def test_message_not_logged_in(application): """ check for redirect if not logged in """ with application.test_request_context(): resp = views.inbox() assert resp.status != 302 def test_message_inbox(application, default_settings, conversation_msgs, user): with application.test_request_context(): login_user(user) resp = views.inbox() assert 'From test_normal' in resp def test_message_view_conversation( application, default_settings, conversation_msgs, user): with application.test_request_context(): login_user(user) resp = views.view_conversation(conversation_msgs.id) assert conversation_msgs.first_message.message in resp def test_message_trash_restore_conversation( application, default_settings, conversation_msgs, user): with application.test_request_context(): login_user(user) resp = views.move_conversation(conversation_msgs.id) assert resp.status != 302 assert conversation_msgs.trash is True resp = views.restore_conversation(conversation_msgs.id) assert conversation_msgs.trash is False def test_message_delete_conversation( application, default_settings, conversation_msgs, user): with application.test_request_context(): login_user(user) resp = views.delete_conversation(conversation_msgs.id) assert resp.status != 302 def test_message_trash(application, default_settings, user): # FIXME more sophisticated tests required with application.test_request_context(): login_user(user) resp = views.trash() assert 'No conversations found' in resp def test_message_drafts(application, default_settings, user): # FIXME more sophisticated tests required with application.test_request_context(): login_user(user) resp = views.drafts() assert 'No conversations found' in resp def test_message_sent(application, default_settings, user): # FIXME more sophisticated tests required with application.test_request_context(): login_user(user) resp = views.sent() assert 'No conversations found' in resp def test_message_view_raw( application, conversation_msgs, default_settings, user, moderator_user): with application.test_request_context(): login_user(user) resp = views.raw_message(conversation_msgs.last_message.id) assert conversation_msgs.last_message.message in resp # same view should raise a 404 for a different user login_user(moderator_user) with pytest.raises(exceptions.NotFound): resp = views.raw_message(conversation_msgs.last_message.id)