diff options
author | 2019-01-20 09:52:57 +0100 | |
---|---|---|
committer | 2019-01-20 09:52:57 +0100 | |
commit | bdc337d70a386cae954399e55bb128119f601128 (patch) | |
tree | f1b90e9a2c028478e1b82325704ffdd943c4b3b6 /api/tests/test_rules.py | |
parent | Merge branch 'django' into django+add-logs-api. (diff) | |
parent | Add an example `docker-compose.yml`. (diff) |
Merge branch 'django' into django+add-logs-api
Diffstat (limited to 'api/tests/test_rules.py')
-rw-r--r-- | api/tests/test_rules.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/api/tests/test_rules.py b/api/tests/test_rules.py new file mode 100644 index 00000000..c94f89cc --- /dev/null +++ b/api/tests/test_rules.py @@ -0,0 +1,35 @@ +from django_hosts.resolvers import reverse + +from .base import APISubdomainTestCase +from ..views import RulesView + + +class RuleAPITests(APISubdomainTestCase): + def setUp(self): + super().setUp() + self.client.force_authenticate(user=None) + + def test_can_access_rules_view(self): + url = reverse('rules', host='api') + response = self.client.get(url) + + self.assertEqual(response.status_code, 200) + self.assertIsInstance(response.json(), list) + + def test_link_format_query_param_produces_different_results(self): + url = reverse('rules', host='api') + markdown_links_response = self.client.get(url + '?link_format=md') + html_links_response = self.client.get(url + '?link_format=html') + self.assertNotEqual( + markdown_links_response.json(), + html_links_response.json() + ) + + def test_format_link_raises_value_error_for_invalid_target(self): + with self.assertRaises(ValueError): + RulesView._format_link("a", "b", "c") + + def test_get_returns_400_for_wrong_link_format(self): + url = reverse('rules', host='api') + response = self.client.get(url + '?link_format=unknown') + self.assertEqual(response.status_code, 400) |