conftest.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import os
  2. import pytest
  3. from django.urls import reverse
  4. from ....themes.models import Theme
  5. @pytest.fixture
  6. def default_theme(db):
  7. return Theme.objects.get(is_default=True)
  8. @pytest.fixture
  9. def theme(db):
  10. return Theme.objects.create(name="Custom theme")
  11. @pytest.fixture
  12. def nonexisting_theme(mocker, default_theme):
  13. return mocker.Mock(pk=default_theme.pk + 1)
  14. TESTS_DIR = os.path.dirname(os.path.abspath(__file__))
  15. @pytest.fixture
  16. def css(admin_client, theme):
  17. url = reverse("misago:admin:appearance:themes:upload-css", kwargs={"pk": theme.pk})
  18. with open(os.path.join(TESTS_DIR, "css", "test.css")) as fp:
  19. admin_client.post(url, {"assets": [fp]})
  20. return theme.css.last()
  21. @pytest.fixture
  22. def media(admin_client, theme):
  23. url = reverse(
  24. "misago:admin:appearance:themes:upload-media", kwargs={"pk": theme.pk}
  25. )
  26. with open(os.path.join(TESTS_DIR, "images", "test.svg")) as fp:
  27. admin_client.post(url, {"assets": [fp]})
  28. return theme.media.last()
  29. @pytest.fixture
  30. def image(admin_client, theme):
  31. url = reverse(
  32. "misago:admin:appearance:themes:upload-media", kwargs={"pk": theme.pk}
  33. )
  34. with open(os.path.join(TESTS_DIR, "images", "test.png"), "rb") as fp:
  35. admin_client.post(url, {"assets": [fp]})
  36. return theme.media.last()