test_message_views.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import pytest
  2. from werkzeug import exceptions
  3. from flask_login import login_user
  4. from flaskbb.message import views
  5. def test_message_not_logged_in(application):
  6. """ check for redirect if not logged in """
  7. with application.test_request_context():
  8. resp = views.inbox()
  9. assert resp.status != 302
  10. def test_message_inbox(application, default_settings, conversation_msgs, user):
  11. with application.test_request_context():
  12. login_user(user)
  13. resp = views.inbox()
  14. assert 'From <a href="/user/test_normal">test_normal</a>' in resp
  15. def test_message_view_conversation(
  16. application, default_settings,
  17. conversation_msgs, user):
  18. with application.test_request_context():
  19. login_user(user)
  20. view = views.ViewConversation()
  21. resp = view.get(conversation_msgs.id)
  22. assert conversation_msgs.first_message.message in resp
  23. def test_message_trash_restore_conversation(
  24. application, default_settings,
  25. conversation_msgs, user):
  26. with application.test_request_context():
  27. login_user(user)
  28. resp = views.move_conversation(conversation_msgs.id)
  29. assert resp.status != 302
  30. assert conversation_msgs.trash is True
  31. resp = views.restore_conversation(conversation_msgs.id)
  32. assert conversation_msgs.trash is False
  33. def test_message_delete_conversation(
  34. application, default_settings,
  35. conversation_msgs, user):
  36. with application.test_request_context():
  37. login_user(user)
  38. resp = views.delete_conversation(conversation_msgs.id)
  39. assert resp.status != 302
  40. def test_message_trash(application, default_settings, user):
  41. # FIXME more sophisticated tests required
  42. with application.test_request_context():
  43. login_user(user)
  44. resp = views.trash()
  45. assert 'No conversations found' in resp
  46. def test_message_drafts(application, default_settings, user):
  47. # FIXME more sophisticated tests required
  48. with application.test_request_context():
  49. login_user(user)
  50. resp = views.drafts()
  51. assert 'No conversations found' in resp
  52. def test_message_sent(application, default_settings, user):
  53. # FIXME more sophisticated tests required
  54. with application.test_request_context():
  55. login_user(user)
  56. resp = views.sent()
  57. assert 'No conversations found' in resp
  58. def test_message_view_raw(
  59. application, conversation_msgs,
  60. default_settings, user, moderator_user):
  61. with application.test_request_context():
  62. login_user(user)
  63. resp = views.raw_message(conversation_msgs.last_message.id)
  64. assert conversation_msgs.last_message.message in resp
  65. # same view should raise a 404 for a different user
  66. login_user(moderator_user)
  67. with pytest.raises(exceptions.NotFound):
  68. resp = views.raw_message(conversation_msgs.last_message.id)