From 795d465f8da06153c899d0b5e48457830c5a30ba Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 18 Mar 2025 04:18:36 -0400 Subject: [PATCH] Convert `disputes/strikes` spec controller->request/system (#34191) --- .../disputes/strikes_controller_spec.rb | 32 ------------------- spec/requests/disputes/strikes_spec.rb | 22 +++++++++++++ spec/system/disputes/strikes_spec.rb | 27 ++++++++++++++++ 3 files changed, 49 insertions(+), 32 deletions(-) delete mode 100644 spec/controllers/disputes/strikes_controller_spec.rb create mode 100644 spec/requests/disputes/strikes_spec.rb create mode 100644 spec/system/disputes/strikes_spec.rb diff --git a/spec/controllers/disputes/strikes_controller_spec.rb b/spec/controllers/disputes/strikes_controller_spec.rb deleted file mode 100644 index f6d28fc09a6..00000000000 --- a/spec/controllers/disputes/strikes_controller_spec.rb +++ /dev/null @@ -1,32 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Disputes::StrikesController do - render_views - - before { sign_in current_user, scope: :user } - - describe '#show' do - let(:current_user) { Fabricate(:user) } - let(:strike) { Fabricate(:account_warning, target_account: current_user.account) } - - before do - get :show, params: { id: strike.id } - end - - context 'when meant for the user' do - it 'returns http success' do - expect(response).to have_http_status(:success) - end - end - - context 'when meant for a different user' do - let(:strike) { Fabricate(:account_warning) } - - it 'returns http forbidden' do - expect(response).to have_http_status(403) - end - end - end -end diff --git a/spec/requests/disputes/strikes_spec.rb b/spec/requests/disputes/strikes_spec.rb new file mode 100644 index 00000000000..48685893c23 --- /dev/null +++ b/spec/requests/disputes/strikes_spec.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Disputes Strikes' do + before { sign_in current_user } + + describe 'GET /disputes/strikes/:id' do + let(:current_user) { Fabricate(:user) } + + context 'when meant for a different user' do + let(:strike) { Fabricate(:account_warning) } + + it 'returns http forbidden' do + get disputes_strike_path(strike) + + expect(response) + .to have_http_status(403) + end + end + end +end diff --git a/spec/system/disputes/strikes_spec.rb b/spec/system/disputes/strikes_spec.rb new file mode 100644 index 00000000000..d2b6b08c46c --- /dev/null +++ b/spec/system/disputes/strikes_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Disputes Strikes' do + before { sign_in(current_user) } + + describe 'viewing strike disputes' do + let(:current_user) { Fabricate(:user) } + let!(:strike) { Fabricate(:account_warning, target_account: current_user.account) } + + it 'shows a list of strikes and details for each' do + visit disputes_strikes_path + expect(page) + .to have_title(I18n.t('settings.strikes')) + + find('.strike-entry').click + expect(page) + .to have_title(strike_page_title) + .and have_content(strike.text) + end + + def strike_page_title + I18n.t('disputes.strikes.title', action: I18n.t(strike.action, scope: 'disputes.strikes.title_actions'), date: I18n.l(strike.created_at.to_date)) + end + end +end