diff options
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 |