test_message_views.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. resp = views.view_conversation(conversation_msgs.id)
  21. assert conversation_msgs.first_message.message in resp
  22. def test_message_trash_restore_conversation(
  23. application, default_settings,
  24. conversation_msgs, user):
  25. with application.test_request_context():
  26. login_user(user)
  27. resp = views.move_conversation(conversation_msgs.id)
  28. assert resp.status != 302
  29. assert conversation_msgs.trash is True
  30. resp = views.restore_conversation(conversation_msgs.id)
  31. assert conversation_msgs.trash is False
  32. def test_message_delete_conversation(
  33. application, default_settings,
  34. conversation_msgs, user):
  35. with application.test_request_context():
  36. login_user(user)
  37. resp = views.delete_conversation(conversation_msgs.id)
  38. assert resp.status != 302
  39. def test_message_trash(application, default_settings, user):
  40. # FIXME more sophisticated tests required
  41. with application.test_request_context():
  42. login_user(user)
  43. resp = views.trash()
  44. assert 'No conversations found' in resp
  45. def test_message_drafts(application, default_settings, user):
  46. # FIXME more sophisticated tests required
  47. with application.test_request_context():
  48. login_user(user)
  49. resp = views.drafts()
  50. assert 'No conversations found' in resp
  51. def test_message_sent(application, default_settings, user):
  52. # FIXME more sophisticated tests required
  53. with application.test_request_context():
  54. login_user(user)
  55. resp = views.sent()
  56. assert 'No conversations found' in resp
  57. def test_message_view_raw(
  58. application, conversation_msgs,
  59. default_settings, user, moderator_user):
  60. with application.test_request_context():
  61. login_user(user)
  62. resp = views.raw_message(conversation_msgs.last_message.id)
  63. assert conversation_msgs.last_message.message in resp
  64. # same view should raise a 404 for a different user
  65. login_user(moderator_user)
  66. with pytest.raises(exceptions.NotFound):
  67. resp = views.raw_message(conversation_msgs.last_message.id)