test_thread_poll_api.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import json
  2. from django.urls import reverse
  3. from .. import test
  4. from ...categories.models import Category
  5. from ...users.test import AuthenticatedUserTestCase
  6. class ThreadPollApiTestCase(AuthenticatedUserTestCase):
  7. def setUp(self):
  8. super().setUp()
  9. self.category = Category.objects.get(slug="first-category")
  10. self.thread = test.post_thread(self.category, poster=self.user)
  11. self.api_link = reverse(
  12. "misago:api:thread-poll-list", kwargs={"thread_pk": self.thread.pk}
  13. )
  14. def post(self, url, data=None):
  15. return self.client.post(
  16. url, json.dumps(data or {}), content_type="application/json"
  17. )
  18. def put(self, url, data=None):
  19. return self.client.put(
  20. url, json.dumps(data or {}), content_type="application/json"
  21. )
  22. def mock_poll(self):
  23. self.poll = self.thread.poll = test.post_poll(self.thread, self.user)
  24. self.api_link = reverse(
  25. "misago:api:thread-poll-detail",
  26. kwargs={"thread_pk": self.thread.pk, "pk": self.poll.pk},
  27. )