From 4f061bc92c603d598f53cfe507e05e29ef2b8dfe Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Mon, 22 May 2017 23:29:48 +0900 Subject: [PATCH] Cover AccountFollowController more in spec (#3227) --- .../account_follow_controller_spec.rb | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/spec/controllers/account_follow_controller_spec.rb b/spec/controllers/account_follow_controller_spec.rb index b0e646c1fb..ac15499be2 100644 --- a/spec/controllers/account_follow_controller_spec.rb +++ b/spec/controllers/account_follow_controller_spec.rb @@ -7,16 +7,23 @@ describe AccountFollowController do let(:alice) { Fabricate(:account, username: 'alice') } describe 'POST #create' do + let(:service) { double } + + subject { post :create, params: { account_username: alice.username } } + before do - sign_in(user) + allow(FollowService).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(FollowService).not_to receive(:new) end it 'redirects to account path' do - service = double - allow(FollowService).to receive(:new).and_return(service) - allow(service).to receive(:call) - - post :create, params: { account_username: alice.username } + sign_in(user) + subject expect(service).to have_received(:call).with(user.account, 'alice') expect(response).to redirect_to(account_path(alice))