test_captcha_api.py 1.0 KB

123456789101112131415161718192021222324252627282930
  1. from django.test import TestCase
  2. from django.urls import reverse
  3. from ...conf.test import override_dynamic_settings
  4. test_qa_question = "Do you like pies?"
  5. test_qa_help_text = 'Type in "yes".'
  6. class AuthenticateApiTests(TestCase):
  7. def setUp(self):
  8. self.api_link = reverse("misago:api:captcha-question")
  9. @override_dynamic_settings(qa_question="")
  10. def test_api_no_qa_is_set(self):
  11. """qa api returns 404 if no QA question is set"""
  12. response = self.client.get(self.api_link)
  13. self.assertEqual(response.status_code, 404)
  14. @override_dynamic_settings(
  15. qa_question=test_qa_question, qa_help_text=test_qa_help_text
  16. )
  17. def test_api_get_question(self):
  18. """qa api returns valid QA question"""
  19. response = self.client.get(self.api_link)
  20. self.assertEqual(response.status_code, 200)
  21. response_json = response.json()
  22. self.assertEqual(response_json["question"], test_qa_question)
  23. self.assertEqual(response_json["help_text"], test_qa_help_text)