0

У меня есть следующие has_many/belongs_to модели объединения в моем приложении:Rails: Как настроить модульный тест для моей модели с вложенными атрибутами?

User < Company < Deed < Subtransaction,

Deed где accepts_nested_attributes_forvalidates_associated) :subtransactions. Я хочу проверить мои проверки модели с помощью Minitest и fixtures.

Я установил свой тест путем объяснения, определяющего хэш параметров, представленных моей модели.

Мой тест Модель:

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 методы?

ответ

1

Вы можете использовать setup, чтобы определить свой метод настройки. Он будет работать до тестирования.

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

 Смежные вопросы

  • Нет связанных вопросов^_^