From b9e8ffbd12310bfedaff7e3b5dab63db1d5d86a0 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Tue, 23 May 2017 00:58:49 +0900 Subject: [PATCH] Cover AccountUnfollowController more in spec (#3228) --- .../account_unfollow_controller_spec.rb | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/spec/controllers/account_unfollow_controller_spec.rb b/spec/controllers/account_unfollow_controller_spec.rb index a6c86d4b9b..bdebcfa94c 100644 --- a/spec/controllers/account_unfollow_controller_spec.rb +++ b/spec/controllers/account_unfollow_controller_spec.rb @@ -7,16 +7,23 @@ describe AccountUnfollowController do let(:alice) { Fabricate(:account, username: 'alice') } describe 'POST #create' do - before do - sign_in(user) - end + let(:service) { double } - it 'redirects to account path' do - service = double + subject { post :create, params: { account_username: alice.username } } + + before do allow(UnfollowService).to receive(:new).and_return(service) allow(service).to receive(:call) + end + + it 'does not create for user who is not signed in' do + subject + expect(UnfollowService).not_to receive(:new) + end - post :create, params: { account_username: alice.username } + it 'redirects to account path' do + sign_in(user) + subject expect(service).to have_received(:call).with(user.account, alice) expect(response).to redirect_to(account_path(alice))