From 7ee5fc5d68df5d09262c2c29b7926fcbd2794c1d Mon Sep 17 00:00:00 2001 From: alpaca-tc Date: Wed, 24 May 2017 02:45:43 +0900 Subject: Toggle sensitive from admin page (#3261) --- .../admin/reported_statuses_controller_spec.rb | 37 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'spec') 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 } -- cgit