Add tests for moderation actions without custom text (#23184)

This commit is contained in:
Claire 2023-03-03 20:50:46 +01:00 committed by GitHub
parent 6b16b77ab0
commit 3f52e717fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -57,6 +57,9 @@ describe Admin::Reports::ActionsController do
let!(:media) { Fabricate(:media_attachment, account: target_account, status: statuses[0]) } let!(:media) { Fabricate(:media_attachment, account: target_account, status: statuses[0]) }
let(:report) { Fabricate(:report, target_account: target_account, status_ids: statuses.map(&:id)) } let(:report) { Fabricate(:report, target_account: target_account, status_ids: statuses.map(&:id)) }
let(:text) { 'hello' } let(:text) { 'hello' }
let(:common_params) do
{ report_id: report.id, text: text }
end
shared_examples 'common behavior' do shared_examples 'common behavior' do
it 'closes the report' do it 'closes the report' do
@ -72,6 +75,26 @@ describe Admin::Reports::ActionsController do
subject subject
expect(response).to redirect_to(admin_reports_path) expect(response).to redirect_to(admin_reports_path)
end end
context 'when text is unset' do
let(:common_params) do
{ report_id: report.id }
end
it 'closes the report' do
expect { subject }.to change { report.reload.action_taken? }.from(false).to(true)
end
it 'creates a strike with the expected text' do
expect { subject }.to change { report.target_account.strikes.count }.by(1)
expect(report.target_account.strikes.last.text).to eq ''
end
it 'redirects' do
subject
expect(response).to redirect_to(admin_reports_path)
end
end
end end
shared_examples 'all action types' do shared_examples 'all action types' do
@ -124,13 +147,13 @@ describe Admin::Reports::ActionsController do
end end
context 'action as submit button' do context 'action as submit button' do
subject { post :create, params: { report_id: report.id, text: text, action => '' } } subject { post :create, params: common_params.merge({ action => '' }) }
it_behaves_like 'all action types' it_behaves_like 'all action types'
end end
context 'action as submit button' do context 'action as submit button' do
subject { post :create, params: { report_id: report.id, text: text, moderation_action: action } } subject { post :create, params: common_params.merge({ moderation_action: action }) }
it_behaves_like 'all action types' it_behaves_like 'all action types'
end end