From 0e069f865357a5e776b58afd52ae44bca4640733 Mon Sep 17 00:00:00 2001 From: Brandon Rodriguez <brodriguez8774@gmail.com> Date: Sun, 16 Jul 2023 05:39:37 -0400 Subject: [PATCH] Create additional integration UnitTests --- tests/test_cases/test_integration_case.py | 214 +++++++++++++++++++++- 1 file changed, 205 insertions(+), 9 deletions(-) diff --git a/tests/test_cases/test_integration_case.py b/tests/test_cases/test_integration_case.py index 71511e7..52714a6 100644 --- a/tests/test_cases/test_integration_case.py +++ b/tests/test_cases/test_integration_case.py @@ -179,7 +179,7 @@ class IntegrationClassTest__Base(IntegrationTestCase): """ Tests URL value returned response object in assertResponse() function. """ - with self.subTest('With no site_root_url value defined - Via reverse()'): + with self.subTest('With no site_root_url value defined - Via standard args/kwargs'): # Test "user detail" page url via args. response = self.assertResponse('django_expanded_test_cases:user-detail', args=(1,)) @@ -209,6 +209,64 @@ class IntegrationClassTest__Base(IntegrationTestCase): self.assertText('/user/detail/2/?test_1=aaa&test_2=bbb', response.url) self.assertText('127.0.0.1/user/detail/2/?test_1=aaa&test_2=bbb', response.full_url) + with self.subTest('With no site_root_url value defined - Via url_args/url_kwargs'): + + # Test "user detail" page url via args. + response = self.assertResponse('django_expanded_test_cases:user-detail', url_args=(1,)) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertResponse('django_expanded_test_cases:user-detail', url_kwargs={'pk': 2}) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) + + # Test "user detail" page url via args plus query params. + response = self.assertResponse( + 'django_expanded_test_cases:user-detail', + url_args=(1,), + url_query_params={'test_1': 'aaa', 'test_2': 'bbb'}, + ) + self.assertText('/user/detail/1/?test_1=aaa&test_2=bbb', response.url) + self.assertText('127.0.0.1/user/detail/1/?test_1=aaa&test_2=bbb', response.full_url) + + # Test "user detail" page url via kwargs plus query params. + response = self.assertResponse( + 'django_expanded_test_cases:user-detail', + url_kwargs={'pk': 2}, + url_query_params={'test_1': 'aaa', 'test_2': 'bbb'}, + ) + self.assertText('/user/detail/2/?test_1=aaa&test_2=bbb', response.url) + self.assertText('127.0.0.1/user/detail/2/?test_1=aaa&test_2=bbb', response.full_url) + + with self.subTest('With no site_root_url value defined - Via reverse()'): + + # Test "user detail" page url via args. + response = self.assertResponse(reverse('django_expanded_test_cases:user-detail', args=(1,))) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertResponse(reverse('django_expanded_test_cases:user-detail', kwargs={'pk': 2})) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) + + # Test "user detail" page url via args plus query params. + response = self.assertResponse( + reverse('django_expanded_test_cases:user-detail', args=(1,)), + url_query_params={'test_1': 'aaa', 'test_2': 'bbb'}, + ) + self.assertText('/user/detail/1/?test_1=aaa&test_2=bbb', response.url) + self.assertText('127.0.0.1/user/detail/1/?test_1=aaa&test_2=bbb', response.full_url) + + # Test "user detail" page url via kwargs plus query params. + response = self.assertResponse( + reverse('django_expanded_test_cases:user-detail', kwargs={'pk': 2}), + url_query_params={'test_1': 'aaa', 'test_2': 'bbb'}, + ) + self.assertText('/user/detail/2/?test_1=aaa&test_2=bbb', response.url) + self.assertText('127.0.0.1/user/detail/2/?test_1=aaa&test_2=bbb', response.full_url) + with self.subTest('With custom site_root_url value defined'): self.site_root_url = 'https://my_really_cool_site.com/' @@ -782,11 +840,80 @@ class IntegrationClassTest__Base(IntegrationTestCase): Note: Most logic in here passes into the assertResponse() function. Thus we just do basic checks here and do most of the heavy-testing in assertResponse(). """ - response = self.assertGetResponse('django_expanded_test_cases:index') - self.assertText('/', response.url) - self.assertText('127.0.0.1/', response.full_url) - self.assertEqual(response.status_code, 200) + with self.subTest('Basic response test.'): + response = self.assertGetResponse('django_expanded_test_cases:index') + + self.assertText('/', response.url) + self.assertText('127.0.0.1/', response.full_url) + self.assertEqual(response.status_code, 200) + + with self.subTest('View with params, provided as standard args/kwargs'): + # Test "user detail" page url via args. + response = self.assertGetResponse( + 'django_expanded_test_cases:user-detail', + args=(1,), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_superuser"</p></li>', + ) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertGetResponse( + 'django_expanded_test_cases:user-detail', + kwargs={'pk': 2}, + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_admin"</p></li>', + ) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) + + with self.subTest('View with params, provided as url_args/url_kwargs'): + # Test "user detail" page url via args. + response = self.assertGetResponse( + 'django_expanded_test_cases:user-detail', + url_args=(1,), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_superuser"</p></li>', + ) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertGetResponse( + 'django_expanded_test_cases:user-detail', + url_kwargs={'pk': 2}, + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_admin"</p></li>', + ) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) + + with self.subTest('View with params, provided as reverse()'): + # Test "user detail" page url via args. + response = self.assertGetResponse( + reverse('django_expanded_test_cases:user-detail', args=(1,)), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_superuser"</p></li>', + ) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertGetResponse( + reverse('django_expanded_test_cases:user-detail', kwargs={'pk': 2}), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_admin"</p></li>', + ) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) def test__assertPostResponse(self): """ @@ -794,11 +921,80 @@ class IntegrationClassTest__Base(IntegrationTestCase): Note: Most logic in here passes into the assertResponse() function. Thus we just do basic checks here and do most of the heavy-testing in assertResponse(). """ - response = self.assertPostResponse('django_expanded_test_cases:index') - self.assertText('/', response.url) - self.assertText('127.0.0.1/', response.full_url) - self.assertEqual(response.status_code, 200) + with self.subTest('Basic response test.'): + response = self.assertPostResponse('django_expanded_test_cases:index') + + self.assertText('/', response.url) + self.assertText('127.0.0.1/', response.full_url) + self.assertEqual(response.status_code, 200) + + with self.subTest('View with params, provided as standard args/kwargs'): + # Test "user detail" page url via args. + response = self.assertPostResponse( + 'django_expanded_test_cases:user-detail', + args=(1,), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_superuser"</p></li>', + ) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertPostResponse( + 'django_expanded_test_cases:user-detail', + kwargs={'pk': 2}, + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_admin"</p></li>', + ) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) + + with self.subTest('View with params, provided as url_args/url_kwargs'): + # Test "user detail" page url via args. + response = self.assertPostResponse( + 'django_expanded_test_cases:user-detail', + url_args=(1,), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_superuser"</p></li>', + ) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertPostResponse( + 'django_expanded_test_cases:user-detail', + url_kwargs={'pk': 2}, + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_admin"</p></li>', + ) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) + + with self.subTest('View with params, provided as reverse()'): + # Test "user detail" page url via args. + response = self.assertPostResponse( + reverse('django_expanded_test_cases:user-detail', args=(1,)), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_superuser"</p></li>', + ) + self.assertText('/user/detail/1/', response.url) + self.assertText('127.0.0.1/user/detail/1/', response.full_url) + + # Test "user detail" page url via kwargs. + response = self.assertPostResponse( + reverse('django_expanded_test_cases:user-detail', kwargs={'pk': 2}), + expected_title='User Detail Page | Test Views', + expected_header='User Detail Page Header', + expected_content='<li><p>Username: "test_admin"</p></li>', + ) + self.assertText('/user/detail/2/', response.url) + self.assertText('127.0.0.1/user/detail/2/', response.full_url) # endregion Response Assertion Tests -- GitLab