catstodon/spec/controllers/media_controller_spec.rb
Claire db57bff11d
Stop setting a shortcode to newly-created media attachments (#16730)
* Stop setting a shortcode to newly-created media attachments

The WebUI has stopped using the “short media URL” in ages. This isn't used
anywhere except for mail notifications.

Deprecating it would allow us to eventually get rid of at least a database
column and corruption-prone index, as well as a controller.

* Fix tests
2021-09-13 18:59:37 +02:00

38 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe MediaController do
render_views
describe '#show' do
it 'redirects to the file url when attached to a status' do
status = Fabricate(:status)
media_attachment = Fabricate(:media_attachment, status: status, shortcode: 'foo')
get :show, params: { id: media_attachment.to_param }
expect(response).to redirect_to(media_attachment.file.url(:original))
end
it 'responds with missing when there is not an attached status' do
media_attachment = Fabricate(:media_attachment, status: nil, shortcode: 'foo')
get :show, params: { id: media_attachment.to_param }
expect(response).to have_http_status(404)
end
it 'raises when shortcode cant be found' do
get :show, params: { id: 'missing' }
expect(response).to have_http_status(404)
end
it 'raises when not permitted to view' do
status = Fabricate(:status, visibility: :direct)
media_attachment = Fabricate(:media_attachment, status: status, shortcode: 'foo')
get :show, params: { id: media_attachment.to_param }
expect(response).to have_http_status(404)
end
end
end