diff --git a/app/models/upload_media_asset.rb b/app/models/upload_media_asset.rb index 5d50f59af..7eec97a3f 100644 --- a/app/models/upload_media_asset.rb +++ b/app/models/upload_media_asset.rb @@ -37,16 +37,22 @@ class UploadMediaAsset < ApplicationRecord active? || failed? end + def file_upload? + source_url.starts_with?("file://") + end + def source_strategy return nil if source_url.blank? Sources::Strategies.find(source_url, page_url) end def async_process_upload! + return if file_upload? ProcessUploadMediaAssetJob.perform_later(self) end def process_upload! + return if file_upload? update!(status: :processing) strategy = Sources::Strategies.find(source_url) diff --git a/test/test_helpers/upload_test_helper.rb b/test/test_helpers/upload_test_helper.rb index 16dc7f959..ddab1ce11 100644 --- a/test/test_helpers/upload_test_helper.rb +++ b/test/test_helpers/upload_test_helper.rb @@ -10,12 +10,13 @@ module UploadTestHelper source = { file: file } end - post_auth uploads_path(format: :json), user, params: { upload: { **source, **params }} + perform_enqueued_jobs do + post_auth uploads_path(format: :json), user, params: { upload: { **source, **params }} + end end def assert_successful_upload(source_or_file_path, user: create(:user), **params) create_upload!(source_or_file_path, user: user, **params) - perform_enqueued_jobs upload = Upload.last assert_response 201