Я пишу тесты для представлений, которые требуют регистрации пользователя.Я хочу написать декоратор для добавить зарегистрированного пользователя к каждому тесту.
Например, вместо записи:
def test_view_url(cls):
get_user_model().objects.create_user(username='Paulian', password='yGy2pl12')
cls.client.login(username='Paulian', password='yGy2pl12')
response = cls.client.get(cls.home_view_url)
cls.assertEqual(200, response.status_code)
Я хочу написать:
@user_is_logged_in
def test_view_url(cls):
response = cls.client.get(cls.home_view_url)
cls.assertEqual(200, response.status_code)
Вот мой текущий и неисправный декоратор:
def user_is_logged_in(func) -> object:
def wrapper(func):
c = Client()
if c.login(username='Paulian', password='yGy2pl12'):
pass
else:
get_user_model().objects.create_user(username='Paulian', password='yGy2pl12')
c.login(username='Paulian', password='yGy2pl12')
return wrapper
return wrapper