test_captcha_api.py 1.0 KB

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