fix: Add blank check for file param in Import API (#3057)
This commit is contained in:
parent
b59e73b10b
commit
c504067e2b
3 changed files with 20 additions and 0 deletions
|
@ -30,10 +30,13 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
|
|||
end
|
||||
|
||||
def import
|
||||
render json: { error: I18n.t('errors.contacts.import.failed') }, status: :unprocessable_entity and return if params[:import_file].blank?
|
||||
|
||||
ActiveRecord::Base.transaction do
|
||||
import = Current.account.data_imports.create!(data_type: 'contacts')
|
||||
import.import_file.attach(params[:import_file])
|
||||
end
|
||||
|
||||
head :ok
|
||||
end
|
||||
|
||||
|
|
|
@ -41,6 +41,9 @@ en:
|
|||
invalid_email: You have entered an invalid email
|
||||
email_already_exists: "You have already signed up for an account with %{email}"
|
||||
failed: Signup failed
|
||||
contacts:
|
||||
import:
|
||||
failed: File is blank
|
||||
|
||||
reports:
|
||||
period: Reporting period %{since} to %{until}
|
||||
|
|
|
@ -105,6 +105,20 @@ RSpec.describe 'Contacts API', type: :request do
|
|||
expect(account.data_imports.first.import_file.attached?).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when file is empty' do
|
||||
let(:admin) { create(:user, account: account, role: :administrator) }
|
||||
|
||||
it 'returns Unprocessable Entity' do
|
||||
post "/api/v1/accounts/#{account.id}/contacts/import",
|
||||
headers: admin.create_new_auth_token
|
||||
|
||||
json_response = JSON.parse(response.body)
|
||||
|
||||
expect(response).to have_http_status(:unprocessable_entity)
|
||||
expect(json_response['error']).to eq('File is blank')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET /api/v1/accounts/{account.id}/contacts/active' do
|
||||
|
|
Loading…
Reference in a new issue