| @@ 76-115 (lines=40) @@ | ||
| 73 | self.assertTrue(found) |
|
| 74 | ||
| 75 | ||
| 76 | class RegisterUserViewTest(Basetest): |
|
| 77 | def test_redirection(self): |
|
| 78 | '''Non Authenticated user are directed to login page''' |
|
| 79 | ||
| 80 | login_url = reverse("login") |
|
| 81 | client = Client() |
|
| 82 | response = client.get(self.url) |
|
| 83 | ||
| 84 | self.assertRedirects( |
|
| 85 | response, '{login_url}?next={url}'.format( |
|
| 86 | login_url=login_url, url=self.url) |
|
| 87 | ) |
|
| 88 | ||
| 89 | def test_status_code(self): |
|
| 90 | self.assertEqual(self.response.status_code, 200) |
|
| 91 | ||
| 92 | def test_url_resolves_view(self): |
|
| 93 | view = resolve('/biosample/register/') |
|
| 94 | self.assertIsInstance(view.func.view_class(), RegisterUserView) |
|
| 95 | ||
| 96 | def test_csrf(self): |
|
| 97 | self.assertContains(self.response, 'csrfmiddlewaretoken') |
|
| 98 | ||
| 99 | def test_contains_form(self): |
|
| 100 | form = self.response.context.get('form') |
|
| 101 | ||
| 102 | self.assertIsInstance(form, RegisterUserForm) |
|
| 103 | ||
| 104 | def test_form_inputs(self): |
|
| 105 | ''' |
|
| 106 | The view must contain eleven inputs: csrf, username, first_name, |
|
| 107 | last_name, email, password1, password2, affiliation, role, |
|
| 108 | organization and agree_gdpr checkbox |
|
| 109 | ''' |
|
| 110 | ||
| 111 | # total input is n of form fields + (CSRF) |
|
| 112 | self.assertContains(self.response, '<input', 3) |
|
| 113 | self.assertContains(self.response, '<select', 1) |
|
| 114 | self.assertContains(self.response, 'type="text"', 1) |
|
| 115 | self.assertContains(self.response, 'type="password"', 1) |
|
| 116 | ||
| 117 | ||
| 118 | class SuccessfulRegisterUserViewTests(Basetest): |
|
| @@ 67-110 (lines=44) @@ | ||
| 64 | self.assertTrue(found) |
|
| 65 | ||
| 66 | ||
| 67 | class CreateAuthViewTest(BaseTest): |
|
| 68 | def test_redirection(self): |
|
| 69 | '''Non Authenticated user are directed to login page''' |
|
| 70 | ||
| 71 | login_url = reverse("login") |
|
| 72 | client = Client() |
|
| 73 | response = client.get(self.url) |
|
| 74 | ||
| 75 | self.assertRedirects( |
|
| 76 | response, '{login_url}?next={url}'.format( |
|
| 77 | login_url=login_url, url=self.url) |
|
| 78 | ) |
|
| 79 | ||
| 80 | def test_status_code(self): |
|
| 81 | self.assertEqual(self.response.status_code, 200) |
|
| 82 | ||
| 83 | def test_url_resolves_view(self): |
|
| 84 | view = resolve('/biosample/token/generate/') |
|
| 85 | self.assertIsInstance(view.func.view_class(), GenerateTokenView) |
|
| 86 | ||
| 87 | def test_csrf(self): |
|
| 88 | self.assertContains(self.response, 'csrfmiddlewaretoken') |
|
| 89 | ||
| 90 | def test_contains_form(self): |
|
| 91 | form = self.response.context.get('form') |
|
| 92 | ||
| 93 | self.assertIsInstance(form, GenerateTokenForm) |
|
| 94 | ||
| 95 | def test_form_inputs(self): |
|
| 96 | ''' |
|
| 97 | The view must contain eleven inputs: csrf, username, first_name, |
|
| 98 | last_name, email, password1, password2, affiliation, role, |
|
| 99 | organization and agree_gdpr checkbox |
|
| 100 | ''' |
|
| 101 | ||
| 102 | # total input is n of form fields + (CSRF) |
|
| 103 | self.assertContains(self.response, '<input', 3) |
|
| 104 | self.assertContains(self.response, 'type="password"', 1) |
|
| 105 | ||
| 106 | def test_contains_navigation_links(self): |
|
| 107 | dashboard_url = reverse('uid:dashboard') |
|
| 108 | ||
| 109 | self.assertContains(self.response, 'href="{0}"'.format(dashboard_url)) |
|
| 110 | self.assertContains(self.response, '<button type="submit"') |
|
| 111 | ||
| 112 | ||
| 113 | class UnregisteredAuthViewTest(TestCase): |
|