From 82356233621300b51b3e2a2c093e9c4107e12e81 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 30 May 2017 21:11:29 -0400 Subject: Improve spec coverage and clean up api/v1/media controller (#3467) --- spec/controllers/api/v1/media_controller_spec.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'spec/controllers/api/v1/media_controller_spec.rb') diff --git a/spec/controllers/api/v1/media_controller_spec.rb b/spec/controllers/api/v1/media_controller_spec.rb index b1d9798ea..00dcac95d 100644 --- a/spec/controllers/api/v1/media_controller_spec.rb +++ b/spec/controllers/api/v1/media_controller_spec.rb @@ -11,6 +11,30 @@ RSpec.describe Api::V1::MediaController, type: :controller do end describe 'POST #create' do + describe 'with paperclip errors' do + context 'when imagemagick cant identify the file type' do + before do + expect_any_instance_of(Account).to receive_message_chain(:media_attachments, :create!).and_raise(Paperclip::Errors::NotIdentifiedByImageMagickError) + post :create, params: { file: fixture_file_upload('files/attachment.jpg', 'image/jpeg') } + end + + it 'returns http 422' do + expect(response).to have_http_status(:unprocessable_entity) + end + end + + context 'when there is a generic error' do + before do + expect_any_instance_of(Account).to receive_message_chain(:media_attachments, :create!).and_raise(Paperclip::Error) + post :create, params: { file: fixture_file_upload('files/attachment.jpg', 'image/jpeg') } + end + + it 'returns http 422' do + expect(response).to have_http_status(:error) + end + end + end + context 'image/jpeg' do before do post :create, params: { file: fixture_file_upload('files/attachment.jpg', 'image/jpeg') } -- cgit