Прикрепление файлов ActiveStorage в factorybot - PullRequest
1 голос
/ 13 марта 2019

Я ищу способ создания фабрик для моделей с активными вложениями хранилища.

Я попытался метод в этот пост

с моей фабрикой

factory :activity_fit_file, class: 'Activity' do
    association :user, factory: :user
    activity_type {:cycling}
    original_activity_log_file { fixture_file_upload("#{Rails.root}/spec/files/example_fit_file.fit") }
end

но я получил эту ошибку

 NoMethodError:
   undefined method `fixture_file_upload' for #<FactoryBot::SyntaxRunner:0x000000000208c5f8>

Как правильно прикреплять файлы в ActiveStorage?

Ответы [ 2 ]

2 голосов
/ 13 марта 2019

Попробуйте с Rack::Test::UploadedFile напрямую:

file { Rack::Test::UploadedFile.new('path', 'image/png') }
0 голосов
/ 13 марта 2019

Измените свой код на следующий, он будет работать.

include ActionDispatch::TestProcess
factory :activity_fit_file, class: 'Activity' do
    association :user, factory: :user
    activity_type {:cycling}
    original_activity_log_file { fixture_file_upload("#{Rails.root}/spec/files/example_fit_file.fit") }
end
...