from django.test import TestCase from django.urls import reverse from misago.conf.test import override_dynamic_settings test_qa_question = "Do you like pies?" test_qa_help_text = 'Type in "yes".' class AuthenticateApiTests(TestCase): def setUp(self): self.api_link = reverse('misago:api:captcha-question') @override_dynamic_settings(qa_question="") def test_api_no_qa_is_set(self): """qa api returns 404 if no QA question is set""" response = self.client.get(self.api_link) self.assertEqual(response.status_code, 404) @override_dynamic_settings( qa_question=test_qa_question, qa_help_text=test_qa_help_text ) def test_api_get_question(self): """qa api returns valid QA question""" response = self.client.get(self.api_link) self.assertEqual(response.status_code, 200) response_json = response.json() self.assertEqual(response_json['question'], test_qa_question) self.assertEqual(response_json['help_text'], test_qa_help_text)