Я пишу несколько тестов для формы на сайте Django. Я хочу проверить, что зарегистрированный пользователь может использовать форму, предполагающую правильный ввод. С этой целью я использую фабрику запросов Django. Похоже, я не могу войти в тестовый пользователь. Это, или я даже не делаю запрос правильно. Я не уверен. Соответствующий код ниже:Django: Как связать пользователя с фабрикой запросов
def create_user():
username = 'User '+id_generator()
return User.objects.create(username = username, password = 'password')
def test_can_register_deck(self):
t = create_empty_tourney()
u = create_user()
d = create_deck(u)
rf = RequestFactory()
request = rf.post(reverse('tourney:tourney', args=(t.slug,)),{'deck' : d})
request.user = u
response = self.client.get(reverse('tourney:tourney', args=(t.slug,)), request)
self.assertEqual(response.status_code, 200)
Запрос должен думать, что пользователь вошел в систему, или остальные испытания не будут работать. Это не вызывает ошибок, но я даже не уверен, что мой response
правильно использует запрос. Правильно ли я говорю тесту, чтобы «сделать запрос на участие в турнирной странице в качестве этого пользователя и попытаться отправить колоду»?
Теперь я понимаю. Спасибо за направление. Для тех, кого интересует, моя строка 'response' должна быть такой:' response = tourney (request, t.slug) 'где' t.slug' является обязательным позиционным аргументом. – fildred13