test_open_graph_image.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from ...test import assert_contains, assert_not_contains
  2. from ...threads.test import post_thread
  3. from ..models import Setting
  4. from ..test import override_dynamic_settings
  5. @override_dynamic_settings(forum_address="http://test.com/")
  6. def test_default_og_image_is_used_when_none_is_set(db, client):
  7. response = client.get("/")
  8. assert_contains(response, "http://test.com/static/misago/img/og-image.jpg")
  9. @override_dynamic_settings(forum_address="http://test.com/")
  10. def test_custom_og_image_is_used_instead_of_default_one_when_set(db, client):
  11. Setting.objects.filter(setting="og_image").update(
  12. image="custom-image.jpg", image_width=600, image_height=300
  13. )
  14. response = client.get("/")
  15. assert_not_contains(response, "http://test.com/media/misago/img/og-image.jpg")
  16. assert_contains(response, "http://test.com/media/custom-image.jpg")
  17. assert_contains(response, 'property="og:image:width" content="600"')
  18. assert_contains(response, 'property="og:image:height" content="300"')
  19. @override_dynamic_settings(forum_address="http://test.com/")
  20. def test_default_og_image_is_used_on_user_profiles(client, user):
  21. response = client.get("%sposts/" % user.get_absolute_url())
  22. assert_contains(response, "http://test.com/static/misago/img/og-image.jpg")
  23. @override_dynamic_settings(
  24. forum_address="http://test.com/", og_image_avatar_on_profile=True
  25. )
  26. def test_user_avatar_can_be_used_as_og_image_on_user_profiles(client, user):
  27. response = client.get("%sposts/" % user.get_absolute_url())
  28. assert_not_contains(response, "http://test.com/static/misago/img/og-image.jpg")
  29. @override_dynamic_settings(forum_address="http://test.com/")
  30. def test_default_og_image_is_used_on_thread_page(client, default_category, user):
  31. thread = post_thread(default_category, poster=user)
  32. response = client.get(thread.get_absolute_url())
  33. assert_contains(response, "http://test.com/static/misago/img/og-image.jpg")
  34. @override_dynamic_settings(
  35. forum_address="http://test.com/", og_image_avatar_on_thread=True
  36. )
  37. def test_thread_started_avatar_can_be_used_as_og_image_on_thread_page(
  38. client, default_category, user
  39. ):
  40. thread = post_thread(default_category, poster=user)
  41. response = client.get(thread.get_absolute_url())
  42. assert_not_contains(response, "http://test.com/static/misago/img/og-image.jpg")