diff options
author | Starfall <us@starfall.systems> | 2023-04-22 20:32:00 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2023-04-22 20:32:00 -0500 |
commit | 609ee7b2979252464e63acbfd2eff3e0e3786f3e (patch) | |
tree | 6ade160c4354b803ed36ae5dae28a0ae38bcf032 /spec/controllers/settings/pictures_controller_spec.rb | |
parent | 4fe1689de43f4404eb9530fcfbcbfb26d6c1c13a (diff) | |
parent | 5b58ebb04fe197cc7aa0cfc05a4d1b2df8da0050 (diff) |
Merge remote-tracking branch 'glitch/main'
Diffstat (limited to 'spec/controllers/settings/pictures_controller_spec.rb')
-rw-r--r-- | spec/controllers/settings/pictures_controller_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/controllers/settings/pictures_controller_spec.rb b/spec/controllers/settings/pictures_controller_spec.rb index 2368dc55d..705878f03 100644 --- a/spec/controllers/settings/pictures_controller_spec.rb +++ b/spec/controllers/settings/pictures_controller_spec.rb @@ -18,5 +18,35 @@ describe Settings::PicturesController do expect(response).to have_http_status(400) end end + + context 'with valid picture id' do + context 'when account updates correctly' do + let(:service) { instance_double(UpdateAccountService, call: true) } + + before do + allow(UpdateAccountService).to receive(:new).and_return(service) + end + + it 'updates the account' do + delete :destroy, params: { id: 'avatar' } + expect(response).to redirect_to(settings_profile_path) + expect(response).to have_http_status(303) + expect(service).to have_received(:call).with(user.account, { 'avatar' => nil, 'avatar_remote_url' => '' }) + end + end + + context 'when account cannot update' do + let(:service) { instance_double(UpdateAccountService, call: false) } + + before do + allow(UpdateAccountService).to receive(:new).and_return(service) + end + + it 'redirects to profile' do + delete :destroy, params: { id: 'avatar' } + expect(response).to redirect_to(settings_profile_path) + end + end + end end end |