From 9a1f49f0dcaccccac3fd9b13361b2e2a7c0dd3f3 Mon Sep 17 00:00:00 2001 From: Bilal Date: Wed, 26 Aug 2020 13:49:33 +0300 Subject: [PATCH] show files attachments instead of file infos in API for acq.media release --- app/controllers/api/releases_controller.rb | 4 ++-- app/serializers/serializable_acquired_media_release.rb | 6 +++--- .../api/acquired_media_releases_controller_spec.rb | 10 ++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/releases_controller.rb b/app/controllers/api/releases_controller.rb index 0bff7bb..5a92a4a 100644 --- a/app/controllers/api/releases_controller.rb +++ b/app/controllers/api/releases_controller.rb @@ -45,13 +45,13 @@ class Api::ReleasesController < Api::ApiController if model_name == "acquired_media_release" mapping = { "#{model_name.camelize}": SerializableAcquiredMediaRelease, - FileInfo: SerializableFileInfo + "ActiveStorage::Attachment".to_sym => ActiveStorage::SerializableAttachment, } render jsonapi: release, status: status, class: mapping, - include: [:file_infos] + include: [:files] else mapping = { "#{model_name.camelize}": show_serializable, diff --git a/app/serializers/serializable_acquired_media_release.rb b/app/serializers/serializable_acquired_media_release.rb index a05b181..3aa56cc 100644 --- a/app/serializers/serializable_acquired_media_release.rb +++ b/app/serializers/serializable_acquired_media_release.rb @@ -8,13 +8,13 @@ class SerializableAcquiredMediaRelease < JSONAPI::Serializable::Resource :applicable_medium_id, :applicable_medium_text, :territory_id, :territory_text, :term_id, :term_text, :restriction_id, :restriction_text, :categories, :description, :tag_list - has_many :file_infos do + has_many :files do data do - @object.file_infos + @object.files end meta do - { count: @object.file_infos.size } + { count: @object.files.size } end end end diff --git a/spec/controllers/api/acquired_media_releases_controller_spec.rb b/spec/controllers/api/acquired_media_releases_controller_spec.rb index 6cceb57..7f4c612 100644 --- a/spec/controllers/api/acquired_media_releases_controller_spec.rb +++ b/spec/controllers/api/acquired_media_releases_controller_spec.rb @@ -30,6 +30,16 @@ RSpec.describe Api::AcquiredMediaReleasesController, type: :controller do expect(response).to be_successful end + + it 'contains files attachment data' do + tested_release = create(:acquired_media_release, name: 'ct1', project_id: project.id) + + sign_in_to_api(current_user) + get :show, params: { id: tested_release.id } + + expect(response.body).not_to match /file_infos/ + expect(response.body).to match /files/ + end end describe '#create' do