0

Benim app bir şu has_many/belongs_to modeli dernekleri vardır: < Company < Deed < SubtransactionRaylar: İç içe geçmiş özelliklere sahip modelim için Birim testi nasıl ayarlanır?

User,

nerede Deedaccepts_nested_attributes_for (ve validates_associated) :subtransactions. Model doğrulamalarımı Minitest ve fixtures kullanarak test etmek istiyorum.

Testimi, modelime gönderilen paramların karma değerini tanımlayan açıklıkla kurdum.

Benim Modeli testi:

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 

bu benim testi setup için doğru yolu var mı? Ya da daha zarif ya da Rails benzeri yöntemler var mı?

cevap

1

Kurulum yönteminizi tanımlamak için setup kullanabilirsiniz. Testten önce çalışır.

setup do 
    @data_form = { 
    title: Faker::Commerce.department, 
    description: Faker::Lorem.paragraph, 
    price: Faker::Commerce.price, 
    category_id: 1 
    } 
end 
İlgili konular