summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Jankowski <matt@jankowski.online>2024-01-12 04:21:00 -0500
committerGitHub <noreply@github.com>2024-01-12 09:21:00 +0000
commita90696011e563e62100cba56e2d52f6babbaff00 (patch)
tree114340796777119eafaa9faadd0484203dbf7cd7
parent7801db7ba463a71b8a11a2867486b012a2ec3972 (diff)
Add coverage/bugfix for invalid appeal submission (#28703)
-rw-r--r--app/views/disputes/strikes/show.html.haml2
-rw-r--r--spec/controllers/disputes/appeals_controller_spec.rb37
2 files changed, 29 insertions, 10 deletions
diff --git a/app/views/disputes/strikes/show.html.haml b/app/views/disputes/strikes/show.html.haml
index 62695b155e0..5f721388217 100644
--- a/app/views/disputes/strikes/show.html.haml
+++ b/app/views/disputes/strikes/show.html.haml
@@ -21,7 +21,7 @@
.report-header
.report-header__card
- = render 'card', strike: @strike
+ = render 'disputes/strikes/card', strike: @strike
.report-header__details
.report-header__details__item
diff --git a/spec/controllers/disputes/appeals_controller_spec.rb b/spec/controllers/disputes/appeals_controller_spec.rb
index 452bd60dc59..da2f86ade5e 100644
--- a/spec/controllers/disputes/appeals_controller_spec.rb
+++ b/spec/controllers/disputes/appeals_controller_spec.rb
@@ -10,19 +10,38 @@ RSpec.describe Disputes::AppealsController do
let!(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
describe '#create' do
- let(:current_user) { Fabricate(:user) }
- let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
+ context 'with valid params' do
+ let(:current_user) { Fabricate(:user) }
+ let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
- before do
- post :create, params: { strike_id: strike.id, appeal: { text: 'Foo' } }
- end
+ before do
+ post :create, params: { strike_id: strike.id, appeal: { text: 'Foo' } }
+ end
+
+ it 'notifies staff about new appeal', :sidekiq_inline do
+ expect(ActionMailer::Base.deliveries.first.to).to eq([admin.email])
+ end
- it 'notifies staff about new appeal', :sidekiq_inline do
- expect(ActionMailer::Base.deliveries.first.to).to eq([admin.email])
+ it 'redirects back to the strike page' do
+ expect(response).to redirect_to(disputes_strike_path(strike.id))
+ end
end
- it 'redirects back to the strike page' do
- expect(response).to redirect_to(disputes_strike_path(strike.id))
+ context 'with invalid params' do
+ let(:current_user) { Fabricate(:user) }
+ let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
+
+ before do
+ post :create, params: { strike_id: strike.id, appeal: { text: '' } }
+ end
+
+ it 'does not send email', :sidekiq_inline do
+ expect(ActionMailer::Base.deliveries.size).to eq(0)
+ end
+
+ it 'renders the strike show page' do
+ expect(response).to render_template('disputes/strikes/show')
+ end
end
end
end