Coverage for accounts/tests/test_pages.py: 100.00%

37 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-10 15:27 -0700

1from django.contrib.auth import get_user_model 

2from django.test import TestCase 

3from django.urls import resolve, reverse 

4 

5from ..views import SignupPageView 

6 

7 

8class SignupPageTests(TestCase): 

9 username = "newuser" 

10 email = "newuser@example.com" 

11 

12 def setUp(self): 

13 url = reverse("account_signup") 

14 self.response = self.client.get(url) 

15 

16 def test_signup_page_status(self): 

17 response = self.client.get("/accounts/signup/") 1d

18 self.assertEqual(response.status_code, 200) 1d

19 

20 def test_signup_template(self): 

21 self.assertEqual(self.response.status_code, 200) 1b

22 self.assertTemplateUsed(self.response, "account/signup.html") 1b

23 self.assertContains(self.response, "Sign Up") 1b

24 self.assertNotContains(self.response, "Hi there! I should not be on the page.") 1b

25 

26 def test_signup_form(self): 

27 new_user = get_user_model().objects.create_user( # noqa: F841 1c

28 self.username, self.email 

29 ) 

30 self.assertEqual(get_user_model().objects.all().count(), 1) 1c

31 self.assertEqual(get_user_model().objects.all()[0].username, self.username) 1c

32 self.assertEqual(get_user_model().objects.all()[0].email, self.email) 1c

33 

34 def test_signup_view(self): 

35 view = resolve("/accounts/signup/") 1e

36 self.assertEqual( 1e

37 view.func.__name__, 

38 SignupPageView.as_view().__name__, 

39 ) 

40 

41 

42class AccountPagesTest(TestCase): 

43 def test_login_page_status(self): 

44 response = self.client.get("/accounts/login/") 1f

45 self.assertEqual(response.status_code, 200) 1f

46 

47 def test_logout_page_status(self): 

48 response = self.client.get("/accounts/logout/") 1g

49 self.assertEqual(response.status_code, 302) 1g

50 

51 

52class AdminPageTests(TestCase): 

53 def test_admin_page_status(self): 

54 response = self.client.get("/resources/login/") 1h

55 self.assertEqual(response.status_code, 200) 1h