From b9e8ffbd12310bfedaff7e3b5dab63db1d5d86a0 Mon Sep 17 00:00:00 2001
From: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
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))
-- 
GitLab