会社とユーザーの2つのモデルがあります。会社には多くのユーザーがいて、ユーザーは会社に属しています。ネストされたフォームを作成しました: サインアップ時に、会社と最初のユーザーを作成する必要があります。
フォームは魅力のように機能しますが、これのテストを書く方法がよくわかりません。scaffold によって生成された機能テストは次のとおりです。
test "should create company" do
assert_difference('Company.count') do
post :create, company: { city: @company.city, name: @company.name}
end
assert_redirected_to company_path(assigns(:company))
end
そして、ここでユーザーの作成をテストするために私がしたこと:
test "should create company and first user" do
assert_difference('Company.count') do
assert_difference('User.count') do
post :create, company: { city: @company.city, name: @company.name}, user: {name: @user.name, email: @user.email}
end
end
assert_redirected_to company_path(assigns(:company))
end
テストを実行すると、次のエラーが発生します。
1) Failure:
test_should_create_company_and_first_user(CompaniesControllerTest) [test/functional/companies_controller_test.rb:21]:
"User.count" didn't change by 1.
<3> expected but was
<2>.
インターネットでヘルプが見つからなかったので、ここの誰かができることを願っています:)