0
私は私のアプリでは、次のhas_many
/belongs_to
モデル協会があります。Rails:ネストされた属性を持つモデルのユニットテストを設定するにはどうすればよいですか?
User
< Company
< Deed
< Subtransaction
、
Deed
accepts_nested_attributes_for
(およびvalidates_associated
):subtransactions
を。 Minitest
とfixtures
を使用してモデルの検証をテストしたいと思います。
私はモデルに提出されたparamsのハッシュを明示的に定義してテストを設定しました。
私のモデルのテスト:
class DeedTest < ActiveSupport::TestCase
def setup
@user = users(:dagobert)
@newco = companies(:newco)
params = { :deed =>
{
:date => deeds(:inc_new).date,
:subtransactions_attributes =>
{ '1' =>
{
:shareholder_name => "Shareholder 1",
:num_shares => subtransactions(:new_subt1).num_shares
},
'2' =>
{
:shareholder_name => "Shareholder 2",
:num_shares => subtransactions(:new_subt2).num_shares
}
}
}
}
@deed = @newco.deeds.new(params[:deed])
end
<my tests here>
end
が、これは私のテストをsetup
する適切な方法ですか?あるいはもっとエレガントなメソッドやRailsのようなメソッドがありますか?