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 """ view = views.Inbox.as_view('inbox') with application.test_request_context(): resp = view() assert resp.status != 302 def test_message_inbox(application, default_settings, conversation_msgs, user): view = views.Inbox() with application.test_request_context(): login_user(user) resp = view.get() 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) view = views.ViewConversation() resp = view.get(conversation_msgs.id) assert conversation_msgs.first_message.message in resp def test_message_trash_restore_conversation( application, default_settings, conversation_msgs, user): move = views.MoveConversation() restore = views.RestoreConversation() with application.test_request_context(): login_user(user) resp = move.post(conversation_msgs.id) assert resp.status != 302 assert conversation_msgs.trash is True resp = restore.post(conversation_msgs.id) assert conversation_msgs.trash is False def test_message_delete_conversation( application, default_settings, conversation_msgs, user): view = views.DeleteConversation() with application.test_request_context(): login_user(user) resp = view.post(conversation_msgs.id) assert resp.status != 302 def test_message_trash(application, default_settings, user): # FIXME more sophisticated tests required view = views.TrashedMessages() with application.test_request_context(): login_user(user) resp = view.get() assert 'No conversations found' in resp def test_message_drafts(application, default_settings, user): # FIXME more sophisticated tests required view = views.DraftMessages() with application.test_request_context(): login_user(user) resp = view.get() assert 'No conversations found' in resp def test_message_sent(application, default_settings, user): # FIXME more sophisticated tests required view = views.SentMessages() with application.test_request_context(): login_user(user) resp = view.get() assert 'No conversations found' in resp def test_message_view_raw( application, conversation_msgs, default_settings, user, moderator_user): view = views.RawMessage() with application.test_request_context(): login_user(user) resp = view.get(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 = view.get(conversation_msgs.last_message.id)