diff options
| author | Carlton Gibson <carlton.gibson@noumenal.es> | 2018-06-18 21:36:20 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-06-18 15:37:10 -0400 |
| commit | 67fc680c43b4f4fddb7bf4988088b1ef7f36bbdd (patch) | |
| tree | 7ed4685cce77c3d0131f83105a38a04faffc75a6 /tests | |
| parent | 306f1f8ea3e2b54e194a59ac0ecb686460f180e8 (diff) | |
[2.1.x] Fixed #29502 -- Allowed users with the view permission to use autocomplete_fields.
Backport of 5b733171813f8ddc7af84abe79f2646204b9c6ca from master
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_views/test_autocomplete_view.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tests/admin_views/test_autocomplete_view.py b/tests/admin_views/test_autocomplete_view.py index 8db18d2468..d1a445d6dc 100644 --- a/tests/admin_views/test_autocomplete_view.py +++ b/tests/admin_views/test_autocomplete_view.py @@ -69,7 +69,7 @@ class AutocompleteJsonViewTests(AdminViewBasicTestCase): response = self.client.get(self.url, {'term': ''}) self.assertEqual(response.status_code, 302) - def test_has_change_permission_required(self): + def test_has_view_or_change_permission_required(self): """ Users require the change permission for the related model to the autocomplete view for it. @@ -81,15 +81,17 @@ class AutocompleteJsonViewTests(AdminViewBasicTestCase): response = AutocompleteJsonView.as_view(**self.as_view_args)(request) self.assertEqual(response.status_code, 403) self.assertJSONEqual(response.content.decode('utf-8'), {'error': '403 Forbidden'}) - # Add the change permission and retry. - p = Permission.objects.get( - content_type=ContentType.objects.get_for_model(Question), - codename='change_question', - ) - self.user.user_permissions.add(p) - request.user = User.objects.get(pk=self.user.pk) - response = AutocompleteJsonView.as_view(**self.as_view_args)(request) - self.assertEqual(response.status_code, 200) + for permission in ('view', 'change'): + with self.subTest(permission=permission): + self.user.user_permissions.clear() + p = Permission.objects.get( + content_type=ContentType.objects.get_for_model(Question), + codename='%s_question' % permission, + ) + self.user.user_permissions.add(p) + request.user = User.objects.get(pk=self.user.pk) + response = AutocompleteJsonView.as_view(**self.as_view_args)(request) + self.assertEqual(response.status_code, 200) def test_search_use_distinct(self): """ |
