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
、リクエストを正しく利用しているかどうかさえわかりません。「このユーザーとしてトーナメント ページに投稿リクエストを送信し、デッキを送信してみてください」とテストに正しく伝えていますか?