M4rc0txt
M4rc0txt

Reputation: 23

Importing login of users/tests module to another application/tests not working in Django

I'm trying to avoid code duplication so I want to import login from users/test to the ordering/test where I need to test different views that have @login_required.

users/test.py

User = get_user_model()

class UserBaseTest(TestCase):
    def setUp(self):
        self.user = User.objects.create_user(
            username='testuser', 
            password='testpass', 
            email='[email protected]', 
            phone_number='3401234567'
        )

    def test_login(self):
        logged_in = self.client.login(username='testuser', password='testpass')
        self.assertTrue(logged_in, "Login failed in UserBaseTest")

ordering/test.py

class OrderTest(UserBaseTest): 
    def test_view(self):
        self.test_login()
        response = self.client.get(reverse('homepage'), follow=True)
        self.assertRedirects(response, self.order_url)
        self.assertTemplateUsed(response, 'ordering/ordering.html')

If I ran py manage.py test users no errors and no failures were elevated, but with py manage.py test ordering it gave me:

self.assertTrue(logged_in, "Login failed in UserBaseTest")
AssertionError: False is not true : Login failed in UserBaseTest

Upvotes: 0

Views: 36

Answers (0)

Related Questions