Commit 070f8c1
Changed files (2)
app
spec
app/jobs/download_from_drive_job.rb
@@ -9,20 +9,13 @@ class DownloadFromDriveJob < ActiveJob::Base
download_path,
params[:accessToken]
))
- UploadStrongliftsBackupJob.perform_later(
- user,
- storage.store(File.new(download_path)),
- Program.stronglifts
- )
+ backup_file = BackupFile.new(user, File.new(download_path))
+ backup_file.process_later(Program.stronglifts)
end
end
private
- def storage
- @storage ||= TemporaryStorage.new
- end
-
def create_command(download_url, download_path, access_token)
command = <<-COMMAND
curl '#{download_url}' \
@@ -32,7 +25,7 @@ curl '#{download_url}' \
-H 'Origin: http://stronglifters.dev' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36' \
--compressed
-COMMAND
+ COMMAND
command
end
spec/jobs/download_from_drive_job_spec.rb
@@ -1,5 +1,25 @@
-require 'rails_helper'
+require "rails_helper"
RSpec.describe DownloadFromDriveJob, type: :job do
- pending "add some examples to (or delete) #{__FILE__}"
+ describe "#perform" do
+ let(:user) { build(:user) }
+ let(:params) do
+ {
+ accessToken: access_token,
+ data: {
+ title: filename,
+ downloadUrl: 'https://www.stronglifters.com/'
+ },
+ }
+ end
+ let(:filename) { "#{FFaker::Internet.user_name}.html" }
+ let(:access_token) { FFaker::Internet.user_name }
+ let(:backup_file) { double(process_later: true) }
+
+ it "downloads the file for further processing" do
+ allow(BackupFile).to receive(:new).and_return(backup_file)
+ subject.perform(user, params)
+ expect(backup_file).to have_received(:process_later).with(Program.stronglifts)
+ end
+ end
end