Add ability to specify alternative text for media attachments (#5123)
* Fix #117 - Add ability to specify alternative text for media attachments - POST /api/v1/media accepts `description` straight away - PUT /api/v1/media/:id to update `description` (only for unattached ones) - Serialized as `name` of Document object in ActivityPub - Uploads form adjusted for better performance and description input * Add tests * Change undo button blend mode to difference
This commit is contained in:
parent
3d9b8847d2
commit
4ec1771165
24 changed files with 311 additions and 278 deletions
|
@ -101,4 +101,33 @@ RSpec.describe Api::V1::MediaController, type: :controller do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'PUT #update' do
|
||||
context 'when somebody else\'s' do
|
||||
let(:media) { Fabricate(:media_attachment, status: nil) }
|
||||
|
||||
it 'returns http not found' do
|
||||
put :update, params: { id: media.id, description: 'Lorem ipsum!!!' }
|
||||
expect(response).to have_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when not attached to a status' do
|
||||
let(:media) { Fabricate(:media_attachment, status: nil, account: user.account) }
|
||||
|
||||
it 'updates the description' do
|
||||
put :update, params: { id: media.id, description: 'Lorem ipsum!!!' }
|
||||
expect(media.reload.description).to eq 'Lorem ipsum!!!'
|
||||
end
|
||||
end
|
||||
|
||||
context 'when attached to a status' do
|
||||
let(:media) { Fabricate(:media_attachment, status: Fabricate(:status), account: user.account) }
|
||||
|
||||
it 'returns http not found' do
|
||||
put :update, params: { id: media.id, description: 'Lorem ipsum!!!' }
|
||||
expect(response).to have_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,7 +17,6 @@ RSpec.describe MediaAttachment, type: :model do
|
|||
expect(media.file.meta["original"]["height"]).to eq 128
|
||||
expect(media.file.meta["original"]["aspect"]).to eq 1.0
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe 'non-animated gif non-conversion' do
|
||||
|
@ -50,4 +49,12 @@ RSpec.describe MediaAttachment, type: :model do
|
|||
expect(media.file.meta["small"]["aspect"]).to eq 400.0/267
|
||||
end
|
||||
end
|
||||
|
||||
describe 'descriptions for remote attachments' do
|
||||
it 'are cut off at 140 characters' do
|
||||
media = Fabricate(:media_attachment, description: 'foo' * 100, remote_url: 'http://example.com/blah.jpg')
|
||||
|
||||
expect(media.description.size).to be <= 140
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue