Advertisement
Guest User

Untitled

a guest
Mar 5th, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. # List of status
  2. STATUS_CHOICES = (
  3. ('teacher', 'Teacher'),
  4. ('student', 'Student'),
  5. )
  6.  
  7. # More field for an user.
  8. class UserProfile(models.Model):
  9. user = models.OneToOneField(User, unique=True)
  10. status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='student')
  11.  
  12. # Only the owner view this template
  13. if request.user.userprofile.status != 'teacher':
  14. return redirect('Penelope.views.home')
  15.  
  16. def login_function(self, username, password, status):
  17. # Create a new user
  18. user = User.objects.create_user(username=username, password=password)
  19. user.userprofile.status = status
  20. user.save()
  21.  
  22. # Use test client to perform login
  23. user = self.client.login(username=username, password=password)
  24. response = self.client.post('/login/')
  25.  
  26. class LoggedAsTeacherCase(TestCase):
  27. def setUp(self):
  28. # I create and log with a teacher user
  29. login_function(self, 'teststudent', 'password', 'teacher')
  30.  
  31. def test_login(self): # Verify if login has been validated by server
  32. response = self.client.get('/login/')
  33. self.assertRedirects(response, '/') # <<< It is ok (My user is detected as connected, he is redirected)
  34.  
  35. def test_dashboard(self):
  36. response = self.client.get('/')
  37. self.assertEqual(response.status_code, 200) # <<< It is ok (Confirmation, my user is not redirected to login url, perfect)
  38.  
  39. def test_newcourse(self):
  40. response = self.client.get('/newcourse/')
  41. self.assertEqual(response.status_code, 200) # <<< /! It is false, I have a redirection (302), not a 200...
  42.  
  43. models.CharField(max_length=..., choices=STATUS_CHOICES)
  44.  
  45. user = User.objects.create_user(username=username, password=password)
  46. user.userprofile.status = status
  47. user.save()
  48.  
  49. user = User.objects.create_user(username=username, password=password)
  50. test = UserProfile.objects.filter(user=username)
  51. test.status = status
  52. test.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement