diff --git a/app/controllers/media_objects_controller.rb b/app/controllers/media_objects_controller.rb index 61b3455f70..e4c5cb905d 100644 --- a/app/controllers/media_objects_controller.rb +++ b/app/controllers/media_objects_controller.rb @@ -333,7 +333,7 @@ def show end end format.json do - response_json = @media_object.as_json(include_structure: params[:include_structure]) + response_json = @media_object.as_json(include_structure: params[:include_structure] == "true") response_json.except!(:files, :visibility, :read_groups) unless current_ability.can? :edit, @media_object render json: response_json.to_json end diff --git a/spec/controllers/media_objects_controller_spec.rb b/spec/controllers/media_objects_controller_spec.rb index a98e4a62d1..8abafd1019 100644 --- a/spec/controllers/media_objects_controller_spec.rb +++ b/spec/controllers/media_objects_controller_spec.rb @@ -936,6 +936,11 @@ get 'show', params: { id: media_object.id, format:'json', include_structure: true } expect(json['files'].first['structure']).to eq master_file.structuralMetadata.content end + + it "should not return structure inline if requested not to" do + get 'show', params: { id: media_object.id, format:'json', include_structure: false } + expect(json['files'].first['structure']).not_to eq master_file.structuralMetadata.content + end end end end