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))