Обновить фабрику в спецификации

#rspec

#rspec

Вопрос:

Вот моя фабрика папок:

 FactoryGirl.define do
  factory :folder, class: Folder do
    name { Faker::Lorem.word }
    parent_id nil
    user_id nil
  end
end
  

и вот мой контекстный блок:

 let(:user) { FactoryGirl.create(:user) }      
let(:asset) { FactoryGirl.create(:asset) }

context 'when in folder' do
  before do
    delete :destroy, id: folder.id
  end

  it{}
end
  

Теперь все результирующие ожидания терпят неудачу, потому что при создании фабрики папок ее идентификатор user_id равен нулю.

Как я должен обновить его с помощью идентификатора пользователя? Я не хочу делать это в заводском файле, если это возможно, мне нравится сохранять свои фабрики нетуральными…Мне просто нужно обновить его user_id…

Ответ №1:

Я думаю, вы можете:

 let(:user) { FactoryGirl.create(:user, user_id: 123) }   
  

Комментарии:

1. Тьфу. Я знал это, но я так много работал, что мой мозг превратился в желе. Спасибо, хотя 🙂