diff options
author | alpaca-tc <alpaca-tc@alpaca.tc> | 2017-05-24 02:45:43 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-23 19:45:43 +0200 |
commit | 7ee5fc5d68df5d09262c2c29b7926fcbd2794c1d (patch) | |
tree | bf99e9eea805d034f35c6f0a738ff887cbb40a89 /spec/controllers/admin | |
parent | 4289ed1d13b9c3b91663581c44635105c4bc0412 (diff) |
Toggle sensitive from admin page (#3261)
Diffstat (limited to 'spec/controllers/admin')
-rw-r--r-- | spec/controllers/admin/reported_statuses_controller_spec.rb | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/spec/controllers/admin/reported_statuses_controller_spec.rb b/spec/controllers/admin/reported_statuses_controller_spec.rb index dea5ea55d..80c69e8d1 100644 --- a/spec/controllers/admin/reported_statuses_controller_spec.rb +++ b/spec/controllers/admin/reported_statuses_controller_spec.rb @@ -4,14 +4,47 @@ describe Admin::ReportedStatusesController do render_views let(:user) { Fabricate(:user, admin: true) } + let(:report) { Fabricate(:report, status_ids: [status.id]) } + let(:status) { Fabricate(:status) } + before do sign_in user, scope: :user end + describe 'PATCH #update' do + subject do + -> { patch :update, params: { report_id: report, id: status, status: { sensitive: sensitive } } } + end + + let(:status) { Fabricate(:status, sensitive: !sensitive) } + let(:sensitive) { true } + + context 'updates sensitive column to true' do + it 'updates sensitive column' do + is_expected.to change { + status.reload.sensitive + }.from(false).to(true) + end + end + + context 'updates sensitive column to false' do + let(:sensitive) { false } + + it 'updates sensitive column' do + is_expected.to change { + status.reload.sensitive + }.from(true).to(false) + end + end + + it 'redirects to report page' do + subject.call + expect(response).to redirect_to(admin_report_path(report)) + end + end + describe 'DELETE #destroy' do it 'removes a status' do - report = Fabricate(:report) - status = Fabricate(:status) allow(RemovalWorker).to receive(:perform_async) delete :destroy, params: { report_id: report, id: status } |