diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-02-10 00:15:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-10 00:15:30 +0100 |
commit | 63002cde03a836b4510aca5da564504ecaedb5e9 (patch) | |
tree | f6749dd6bafae30c8708559da037668f5585b16e /spec/controllers | |
parent | 20a3564ab280a004cc7c075c00f63e70b1d65e07 (diff) |
Add editing for published statuses (#17320)
* Add editing for published statuses * Fix change of multiple-choice boolean in poll not resetting votes * Remove the ability to update existing media attachments for now
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/api/v1/media_controller_spec.rb | 21 | ||||
-rw-r--r-- | spec/controllers/api/v1/statuses_controller_spec.rb | 17 |
2 files changed, 29 insertions, 9 deletions
diff --git a/spec/controllers/api/v1/media_controller_spec.rb b/spec/controllers/api/v1/media_controller_spec.rb index d8d732630..a1f6ddb24 100644 --- a/spec/controllers/api/v1/media_controller_spec.rb +++ b/spec/controllers/api/v1/media_controller_spec.rb @@ -110,21 +110,24 @@ RSpec.describe Api::V1::MediaController, type: :controller do end end - context 'when not attached to a status' do - let(:media) { Fabricate(:media_attachment, status: nil, account: user.account) } + context 'when the author \'s' do + let(:status) { nil } + let(:media) { Fabricate(:media_attachment, status: status, account: user.account) } - it 'updates the description' do + before do put :update, params: { id: media.id, description: 'Lorem ipsum!!!' } + end + + it 'updates the description' do 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) } + context 'when already attached to a status' do + let(: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) + it 'returns http not found' do + expect(response).to have_http_status(:not_found) + end end end end diff --git a/spec/controllers/api/v1/statuses_controller_spec.rb b/spec/controllers/api/v1/statuses_controller_spec.rb index 2679ab017..190dfad11 100644 --- a/spec/controllers/api/v1/statuses_controller_spec.rb +++ b/spec/controllers/api/v1/statuses_controller_spec.rb @@ -102,6 +102,23 @@ RSpec.describe Api::V1::StatusesController, type: :controller do expect(Status.find_by(id: status.id)).to be nil end end + + describe 'PUT #update' do + let(:scopes) { 'write:statuses' } + let(:status) { Fabricate(:status, account: user.account) } + + before do + put :update, params: { id: status.id, status: 'I am updated' } + end + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it 'updates the status' do + expect(status.reload.text).to eq 'I am updated' + end + end end context 'without an oauth token' do |