diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-04-17 13:10:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-17 13:10:52 +0200 |
commit | f30c5e7f15f967019245d2c78f3c2e89800eb838 (patch) | |
tree | c75cb4589dbc605065f9d32aef783de36631529a /spec/controllers/settings/migration | |
parent | f28942cef991c9285236ea3ecace98c9b65c5242 (diff) | |
parent | 34f8e696e29683fd8b7113e7997e968869b76473 (diff) |
Merge pull request #2181 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/controllers/settings/migration')
-rw-r--r-- | spec/controllers/settings/migration/redirects_controller_spec.rb | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/spec/controllers/settings/migration/redirects_controller_spec.rb b/spec/controllers/settings/migration/redirects_controller_spec.rb index 50d9e1927..54897bb7f 100644 --- a/spec/controllers/settings/migration/redirects_controller_spec.rb +++ b/spec/controllers/settings/migration/redirects_controller_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' describe Settings::Migration::RedirectsController do render_views - let!(:user) { Fabricate(:user) } + let!(:user) { Fabricate(:user, password: 'testtest') } before do sign_in user, scope: :user @@ -17,4 +17,47 @@ describe Settings::Migration::RedirectsController do expect(response).to have_http_status(200) end end + + describe 'POST #create' do + context 'with valid params' do + before { stub_resolver } + + it 'redirects to the settings migration path' do + post :create, params: { form_redirect: { acct: 'new@host.com', current_password: 'testtest' } } + + expect(response).to redirect_to(settings_migration_path) + end + end + + context 'with non valid params' do + it 'returns success and renders the new page' do + post :create, params: { form_redirect: { acct: '' } } + + expect(response).to have_http_status(200) + expect(response).to render_template(:new) + end + end + end + + describe 'DELETE #destroy' do + let(:account) { Fabricate(:account) } + + before do + user.account.update(moved_to_account_id: account.id) + end + + it 'resets the account and sends an update' do + delete :destroy + + expect(response).to redirect_to(settings_migration_path) + expect(user.account.reload.moved_to_account).to be_nil + end + end + + private + + def stub_resolver + resolver = instance_double(ResolveAccountService, call: Fabricate(:account)) + allow(ResolveAccountService).to receive(:new).and_return(resolver) + end end |