about summary refs log tree commit diff
path: root/spec/controllers/account_unfollow_controller_spec.rb
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>2017-05-23 00:58:49 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-05-22 17:58:49 +0200
commitb9e8ffbd12310bfedaff7e3b5dab63db1d5d86a0 (patch)
tree27513cccdd732ae5d913c28dcc61df90e80fb9f7 /spec/controllers/account_unfollow_controller_spec.rb
parent7966d3a872bb002d98e506e7ab34c0016b8ab8fe (diff)
Cover AccountUnfollowController more in spec (#3228)
Diffstat (limited to 'spec/controllers/account_unfollow_controller_spec.rb')
-rw-r--r--spec/controllers/account_unfollow_controller_spec.rb19
1 files changed, 13 insertions, 6 deletions
diff --git a/spec/controllers/account_unfollow_controller_spec.rb b/spec/controllers/account_unfollow_controller_spec.rb
index a6c86d4b9..bdebcfa94 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))