diff --git a/mayan/apps/acls/tests/test_views.py b/mayan/apps/acls/tests/test_views.py index 7c77c7b734..3784792fe0 100644 --- a/mayan/apps/acls/tests/test_views.py +++ b/mayan/apps/acls/tests/test_views.py @@ -189,4 +189,3 @@ class AccessControlListViewTestCase(GenericDocumentViewTestCase): viewname='acls:acl_list', kwargs=view_arguments ) self.assertContains(response, text=document.label, status_code=200) - self.assertContains(response, text='otal: 1', status_code=200) diff --git a/mayan/apps/authentication/tests/test_views.py b/mayan/apps/authentication/tests/test_views.py index c7b3e58409..8b90ece985 100644 --- a/mayan/apps/authentication/tests/test_views.py +++ b/mayan/apps/authentication/tests/test_views.py @@ -5,7 +5,7 @@ from django.core import mail from django.test import override_settings from django.urls import reverse -from common.tests import BaseTestCase +from common.tests import BaseTestCase, GenericViewTestCase from smart_settings.classes import Namespace from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_USER_PASSWORD_EDITED, @@ -17,7 +17,7 @@ from ..settings import setting_maximum_session_length from .literals import TEST_EMAIL_AUTHENTICATION_BACKEND -class UserLoginTestCase(BaseTestCase): +class UserLoginTestCase(GenericViewTestCase): """ Test that users can login via the supported authentication methods """ @@ -156,58 +156,51 @@ class UserLoginTestCase(BaseTestCase): @override_settings(AUTHENTICATION_LOGIN_METHOD='email') def test_email_dont_remember_me(self): with self.settings(AUTHENTICATION_BACKENDS=(TEST_EMAIL_AUTHENTICATION_BACKEND,)): - response = self.client.post( - reverse(settings.LOGIN_URL), { + response = self.post( + viewname=settings.LOGIN_URL, data={ 'email': TEST_ADMIN_EMAIL, 'password': TEST_ADMIN_PASSWORD, 'remember_me': False - }, follow=True + } ) - response = self.client.get(reverse('documents:document_list')) + response = self.get(viewname='documents:document_list') self.assertEqual(response.status_code, 200) self.assertTrue(self.client.session.get_expire_at_browser_close()) @override_settings(AUTHENTICATION_LOGIN_METHOD='username') def test_password_reset(self): - response = self.client.post( - reverse('authentication:password_reset_view'), { + response = self.post( + viewname='authentication:password_reset_view', data={ 'email': TEST_ADMIN_EMAIL, - }, follow=True + } ) - self.assertContains( - response, text='Password reset email sent!', status_code=200 - ) + self.assertEqual(response.status_code, 302) self.assertEqual(len(mail.outbox), 1) uid_token = mail.outbox[0].body.replace('\n', '').split('/') - response = self.client.post( - reverse('authentication:password_reset_confirm_view', args=uid_token[-3:-1]), { + response = self.post( + viewname='authentication:password_reset_confirm_view', + args=uid_token[-3:-1], data={ 'new_password1': TEST_USER_PASSWORD_EDITED, 'new_password2': TEST_USER_PASSWORD_EDITED, - }, follow=True + } ) - self.assertContains( - response, text='Password reset complete!', status_code=200 + self.assertEqual(response.status_code, 302) + + self.login( + username=TEST_ADMIN_USERNAME, password=TEST_USER_PASSWORD_EDITED ) - response = self.client.post( - reverse(settings.LOGIN_URL), { - 'username': TEST_ADMIN_USERNAME, - 'password': TEST_USER_PASSWORD_EDITED, - 'remember_me': True - }, follow=True - ) - - response = self.client.get(reverse('documents:document_list')) + response = self.get(viewname='documents:document_list') self.assertEqual(response.status_code, 200) def test_username_login_redirect(self): - TEST_REDIRECT_URL = '/about/' + TEST_REDIRECT_URL = reverse('common:about_view') response = self.client.post( '{}?next={}'.format( diff --git a/mayan/apps/document_signatures/tests/test_views.py b/mayan/apps/document_signatures/tests/test_views.py index 573ff40064..0f10b1a44e 100644 --- a/mayan/apps/document_signatures/tests/test_views.py +++ b/mayan/apps/document_signatures/tests/test_views.py @@ -81,7 +81,8 @@ class SignaturesViewTestCase(GenericDocumentViewTestCase): args=(document.latest_version.pk,) ) - self.assertContains(response, 'Total: 1', status_code=200) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['object_list'].count(), 1) def test_signature_detail_view_no_permission(self): with open(TEST_KEY_FILE) as file_object: diff --git a/mayan/apps/documents/tests/test_document_views.py b/mayan/apps/documents/tests/test_document_views.py index 5f92a5a761..91922a3865 100644 --- a/mayan/apps/documents/tests/test_document_views.py +++ b/mayan/apps/documents/tests/test_document_views.py @@ -51,7 +51,8 @@ class DocumentsViewsTestCase(GenericDocumentViewTestCase): def test_document_list_view_no_permissions(self): response = self.get('documents:document_list') - self.assertContains(response, 'Total: 0', status_code=200) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['object_list'].count(), 0) def test_document_list_view_with_access(self): self.grant_access( diff --git a/mayan/apps/dynamic_search/tests/test_views.py b/mayan/apps/dynamic_search/tests/test_views.py index f56473d94e..1fc6cde37d 100644 --- a/mayan/apps/dynamic_search/tests/test_views.py +++ b/mayan/apps/dynamic_search/tests/test_views.py @@ -44,23 +44,42 @@ class Issue46TestCase(GenericViewTestCase): self.assertEqual(queryset.count(), self.document_count) with self.settings(COMMON_PAGINATE_BY=2): - # Funcitonal test for the first page of advanced results + # Functional test for the first page of advanced results response = self.get( - 'search:results', args=(document_search.get_full_name(),), + viewname='search:results', + args=(document_search.get_full_name(),), data={'label': 'test'} ) - self.assertContains( - response, 'Total (1 - 2 out of 4) (Page 1 of 2)', - status_code=200 + # Total (1 - 2 out of 4) (Page 1 of 2) + # 4 results total, 2 pages, current page is 1, + # object in this page: 2 + self.assertEqual(response.status_code, 200) + self.assertEqual( + response.context['paginator'].object_list.count(), 4 + ) + self.assertEqual(response.context['paginator'].num_pages, 2) + self.assertEqual(response.context['page_obj'].number, 1) + self.assertEqual( + response.context['page_obj'].object_list.count(), 2 ) # Functional test for the second page of advanced results response = self.get( - 'search:results', args=(document_search.get_full_name(),), + viewname='search:results', + args=(document_search.get_full_name(),), data={'label': 'test', 'page': 2} ) - self.assertContains( - response, 'Total (3 - 4 out of 4) (Page 2 of 2)', - status_code=200 + + # Total (3 - 4 out of 4) (Page 2 of 2) + # 4 results total, 2 pages, current page is 1, + # object in this page: 2 + self.assertEqual(response.status_code, 200) + self.assertEqual( + response.context['paginator'].object_list.count(), 4 + ) + self.assertEqual(response.context['paginator'].num_pages, 2) + self.assertEqual(response.context['page_obj'].number, 2) + self.assertEqual( + response.context['page_obj'].object_list.count(), 2 )