Files
old-holivud2/spec/controllers/api/direct_uploads_controller_spec.rb

37 lines
948 B
Ruby
Raw Normal View History

2020-06-16 17:11:04 +02:00
require 'rails_helper'
RSpec.describe Api::DirectUploadsController, type: :controller do
let(:current_user) { create(:user) }
let(:project) { create(:project, account: current_user.primary_account) }
before do
sign_in_to_api(current_user)
end
describe '#create' do
it 'returns data for a direct upload' do
post :create, params: { blob: blob_params }
expect(response).to be_successful
expect(response_body_data_attributes).to include('id', 'key', 'signed_id', 'url', 'headers')
end
end
private
def blob_params
file = file_fixture("video_file.mp4")
checksum = Digest::MD5.base64digest(StringIO.new(file.read).to_s)
{ filename: file.basename.to_s, content_type: "video/mp4", byte_size: file.size, checksum: checksum }
end
def response_body_data
JSON.parse(response.body).dig('data')
end
def response_body_data_attributes
response_body_data.dig('attributes')
end
end