Je mis en place un test unitaire en tant que tel:Obtenir utilisateur connecté avec django-auth sociale
class UserViewTests(TestCase):
def setUp(self):
self.user_passwords = '123456'
self.user1 = User.objects.create(username='Bobby Johnson', password=self.user_passwords)
...
def test_view_user(self):
"""
Check that you can view a user's information correctly in their profile
"""
response = self.client.get(reverse('login'))
self.assertContains(response, "You're not logged in yet", status_code=200)
self.client.login(username=self.user1.username, password=self.user_passwords)
response = self.client.get(reverse('login'))
self.assertContains(response, "You've logged in already", status_code=200)
Seule la dernière échoue assertion, et remplacer « Vous avez déjà connecté » avec « Vous êtes pas encore connecté "dans cette dernière assertion fait passer le test, il semble donc que ma connexion a échoué. Je suppose que c'est parce que j'utilise django-social-auth
pour autoriser les connexions OpenId.
Comment puis-je obtenir que les tests unitaires pensent que mon utilisateur s'est connecté, de sorte que user.is_authenticated
est vrai? Je veux juste tester que mes vues s'affichent correctement lorsqu'un utilisateur est connecté par rapport à un autre, et ne se soucient pas particulièrement du test d'unité que la connexion fonctionne réellement.