From 4130bda12e0329f0a1a9fcc83eaaefe60f4f65fc Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 13 Dec 2024 05:39:07 -0500 Subject: [PATCH] Convert `settings/verifications` controller spec to system spec (#33285) --- .../settings/verifications_controller_spec.rb | 29 ---------------- spec/system/settings/verifications_spec.rb | 34 +++++++++++++++++++ 2 files changed, 34 insertions(+), 29 deletions(-) delete mode 100644 spec/controllers/settings/verifications_controller_spec.rb create mode 100644 spec/system/settings/verifications_spec.rb diff --git a/spec/controllers/settings/verifications_controller_spec.rb b/spec/controllers/settings/verifications_controller_spec.rb deleted file mode 100644 index 1a8df485b5..0000000000 --- a/spec/controllers/settings/verifications_controller_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Settings::VerificationsController do - render_views - - let!(:user) { Fabricate(:user) } - - before do - sign_in user, scope: :user - end - - describe 'GET #show' do - before do - get :show - end - - it 'returns http success with private cache control headers', :aggregate_failures do - expect(response) - .to have_http_status(200) - .and have_attributes( - headers: include( - 'Cache-Control' => 'private, no-store' - ) - ) - end - end -end diff --git a/spec/system/settings/verifications_spec.rb b/spec/system/settings/verifications_spec.rb new file mode 100644 index 0000000000..75be191c83 --- /dev/null +++ b/spec/system/settings/verifications_spec.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Settings verification page' do + let(:user) { Fabricate :user } + + before { sign_in user } + + describe 'Viewing the verification page' do + it 'shows the page and updates attribution' do + visit settings_verification_path + + expect(page) + .to have_content(verification_summary) + .and have_private_cache_control + + fill_in attribution_field, with: 'host.example' + + expect { click_on submit_button } + .to(change { user.account.reload.attribution_domains_as_text }) + expect(page) + .to have_content(success_message) + end + end + + def verification_summary + I18n.t('verification.website_verification') + end + + def attribution_field + I18n.t('simple_form.labels.account.attribution_domains_as_text') + end +end