У меня есть простая спецификация контроллера, которая должна проверять обработку нового материала в очереди при создании элемента.
materials_controller_spec.rb (#create):
it 'queues the processing of the material' do
post :create, params: { material: valid_attributes }, session: valid_session
expect(ProcessMaterialJob).to(
have_been_enqueued.with(material_id: Material.last.id, video_filepath: Material.last.video_filepath)
)
end
При автономной работе это нормально, но когда я запускаю весь пакет с rspec .
, я получаю следующую ошибку:
ActiveJob::DeserializationError:
Error while trying to deserialize arguments: Couldn't find ActiveStorage::Blob with 'id'=418
# ./spec/controllers/materials_controller_spec.rb:81:in `block (4 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# ActiveRecord::RecordNotFound:
# Couldn't find ActiveStorage::Blob with 'id'=418
# ./spec/controllers/materials_controller_spec.rb:81:in `block (4 levels) in <top (required)>'
Было несколько моментов, в которых я не был убежден,вложение полностью загружено до отображения следующей страницы.Я обеспокоен тем, что это может означать проблему с загрузкой файлов.Я следовал руководству по прямой загрузке , но все еще не вижу индикатора прогресса при загрузке видеофайлов, которые достаточно велики.
Мои вопросы:
- Что вызывает странную проблему
Couldn't find ActiveStorage::Blob
with 'id'=418
? - Как я могу отладить загрузку файла, если в этом проблема?
Заранее спасибо!