Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # List of status
- STATUS_CHOICES = (
- ('teacher', 'Teacher'),
- ('student', 'Student'),
- )
- # More field for an user.
- class UserProfile(models.Model):
- user = models.OneToOneField(User, unique=True)
- status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='student')
- # Only the owner view this template
- if request.user.userprofile.status != 'teacher':
- return redirect('Penelope.views.home')
- def login_function(self, username, password, status):
- # Create a new user
- user = User.objects.create_user(username=username, password=password)
- user.userprofile.status = status
- user.save()
- # Use test client to perform login
- user = self.client.login(username=username, password=password)
- response = self.client.post('/login/')
- class LoggedAsTeacherCase(TestCase):
- def setUp(self):
- # I create and log with a teacher user
- login_function(self, 'teststudent', 'password', 'teacher')
- def test_login(self): # Verify if login has been validated by server
- response = self.client.get('/login/')
- self.assertRedirects(response, '/') # <<< It is ok (My user is detected as connected, he is redirected)
- def test_dashboard(self):
- response = self.client.get('/')
- self.assertEqual(response.status_code, 200) # <<< It is ok (Confirmation, my user is not redirected to login url, perfect)
- def test_newcourse(self):
- response = self.client.get('/newcourse/')
- self.assertEqual(response.status_code, 200) # <<< /! It is false, I have a redirection (302), not a 200...
- models.CharField(max_length=..., choices=STATUS_CHOICES)
- user = User.objects.create_user(username=username, password=password)
- user.userprofile.status = status
- user.save()
- user = User.objects.create_user(username=username, password=password)
- test = UserProfile.objects.filter(user=username)
- test.status = status
- test.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement