]> cat aescling's git repositories - mastodon.git/commitdiff
Cover AccountUnfollowController more in spec (#3228)
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Mon, 22 May 2017 15:58:49 +0000 (00:58 +0900)
committerEugen Rochko <eugen@zeonfederated.com>
Mon, 22 May 2017 15:58:49 +0000 (17:58 +0200)
spec/controllers/account_unfollow_controller_spec.rb

index a6c86d4b9b841eb4ac114f76e17a3c3b45e584af..bdebcfa94c85efbe63f34ae8be2a687e36c56941 100644 (file)
@@ -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))