diff --git a/app/models/account/data_transfer/zip_file.rb b/app/models/account/data_transfer/zip_file.rb index 058476625..b79771927 100644 --- a/app/models/account/data_transfer/zip_file.rb +++ b/app/models/account/data_transfer/zip_file.rb @@ -26,7 +26,7 @@ class Account::DataTransfer::ZipFile def add_file(path, content = nil, compress: true, &block) if block_given? compression = compress ? nil : Zip::Entry::STORED - zip.get_output_stream(path, nil, nil, compression, &block) + zip.get_output_stream(path, compression_method: compression, &block) else zip.get_output_stream(path) { |f| f.write(content) } end diff --git a/test/models/account/export_test.rb b/test/models/account/export_test.rb index f4171f9da..8d3b433fe 100644 --- a/test/models/account/export_test.rb +++ b/test/models/account/export_test.rb @@ -41,4 +41,22 @@ class Account::ExportTest < ActiveSupport::TestCase assert export.file.attached? assert_equal "application/zip", export.file.content_type end + + test "build includes blob files in zip" do + blob = ActiveStorage::Blob.create_and_upload!( + io: file_fixture("moon.jpg").open, + filename: "moon.jpg", + content_type: "image/jpeg" + ) + export = Account::Export.create!(account: Current.account, user: users(:david)) + + export.build + + assert export.completed? + export.file.open do |file| + Zip::File.open(file.path) do |zip| + assert zip.find_entry("storage/#{blob.key}"), "Expected blob file in zip" + end + end + end end