test_logout_from_admin.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.contrib.messages import get_messages
  2. from django.urls import reverse
  3. from ...test import assert_contains
  4. from ..auth import is_admin_authorized
  5. admin_logout_link = reverse("misago:admin:logout")
  6. site_logout_link = reverse("misago:logout")
  7. site_link = reverse("misago:index")
  8. def test_admin_can_logout_from_admin_site_but_stay_logged(admin_client, superuser):
  9. response = admin_client.post(admin_logout_link)
  10. assert response.wsgi_request.user == superuser
  11. assert not is_admin_authorized(response.wsgi_request)
  12. def test_admin_is_redirected_to_site_on_logout(admin_client, superuser):
  13. response = admin_client.post(admin_logout_link)
  14. assert response.status_code == 302
  15. assert response["location"] == site_link
  16. def test_admin_is_displayed_a_message_after_logout(admin_client, superuser):
  17. response = admin_client.post(admin_logout_link)
  18. message = list(get_messages(response.wsgi_request))[0]
  19. assert str(message) == "Your admin session has been closed."
  20. def test_admin_can_logout_from_entire_site(admin_client):
  21. response = admin_client.post(site_logout_link)
  22. assert response.wsgi_request.user.is_anonymous
  23. assert not is_admin_authorized(response.wsgi_request)
  24. def test_admin_is_redirected_to_site_on_logout(admin_client, superuser):
  25. response = admin_client.post(admin_logout_link)
  26. assert response.status_code == 302
  27. assert response["location"] == site_link