about summary refs log tree commit diff
path: root/spec/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/api/v1/follows_controller_spec.rb5
-rw-r--r--spec/controllers/auth/confirmations_controller_spec.rb18
2 files changed, 23 insertions, 0 deletions
diff --git a/spec/controllers/api/v1/follows_controller_spec.rb b/spec/controllers/api/v1/follows_controller_spec.rb
index b5e1d16dd..ea9e76d68 100644
--- a/spec/controllers/api/v1/follows_controller_spec.rb
+++ b/spec/controllers/api/v1/follows_controller_spec.rb
@@ -42,5 +42,10 @@ RSpec.describe Api::V1::FollowsController, type: :controller do
     it 'subscribes to remote hub' do
       expect(a_request(:post, "https://quitter.no/main/push/hub")).to have_been_made
     end
+
+    it 'returns http success if already following, too' do
+      post :create, params: { uri: 'gargron@quitter.no' }
+      expect(response).to have_http_status(:success)
+    end
   end
 end
diff --git a/spec/controllers/auth/confirmations_controller_spec.rb b/spec/controllers/auth/confirmations_controller_spec.rb
index cf7f91e52..2ec36c060 100644
--- a/spec/controllers/auth/confirmations_controller_spec.rb
+++ b/spec/controllers/auth/confirmations_controller_spec.rb
@@ -10,4 +10,22 @@ describe Auth::ConfirmationsController, type: :controller do
       expect(response).to have_http_status(:success)
     end
   end
+
+  describe 'GET #show' do
+    let!(:user) { Fabricate(:user, confirmation_token: 'foobar', confirmed_at: nil) }
+
+    before do
+      allow(BootstrapTimelineWorker).to receive(:perform_async)
+      @request.env['devise.mapping'] = Devise.mappings[:user]
+      get :show, params: { confirmation_token: 'foobar' }
+    end
+
+    it 'redirects to login' do
+      expect(response).to redirect_to(new_user_session_path)
+    end
+
+    it 'queues up bootstrapping of home timeline' do
+      expect(BootstrapTimelineWorker).to have_received(:perform_async).with(user.account_id)
+    end
+  end
 end