about summary refs log tree commit diff
path: root/spec/controllers/auth/confirmations_controller_spec.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-06-22 00:10:43 +0200
committerGitHub <noreply@github.com>2018-06-22 00:10:43 +0200
commit03cfe366fd0146cb4c3ede4dcdeeb2228a513e7d (patch)
tree4ea4874b420a859b706b1187440e2ed103800396 /spec/controllers/auth/confirmations_controller_spec.rb
parentf0161702d857a2f91d2e51469e8480253ffcd86e (diff)
parent0c3a337e045dbd4b7be6ae6c3f07969b42f08857 (diff)
Merge pull request #550 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/controllers/auth/confirmations_controller_spec.rb')
-rw-r--r--spec/controllers/auth/confirmations_controller_spec.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/controllers/auth/confirmations_controller_spec.rb b/spec/controllers/auth/confirmations_controller_spec.rb
index b3af5e0ec..35eed4f51 100644
--- a/spec/controllers/auth/confirmations_controller_spec.rb
+++ b/spec/controllers/auth/confirmations_controller_spec.rb
@@ -3,6 +3,8 @@
 require 'rails_helper'
 
 describe Auth::ConfirmationsController, type: :controller do
+  render_views
+
   describe 'GET #new' do
     it 'returns http success' do
       @request.env['devise.mapping'] = Devise.mappings[:user]
@@ -48,4 +50,45 @@ describe Auth::ConfirmationsController, type: :controller do
       end
     end
   end
+
+  describe 'GET #finish_signup' do
+    subject { get :finish_signup }
+
+    let(:user) { Fabricate(:user) }
+    before do
+      sign_in user, scope: :user
+      @request.env['devise.mapping'] = Devise.mappings[:user]
+    end
+
+    it 'renders finish_signup' do
+      is_expected.to render_template :finish_signup
+      expect(assigns(:user)).to have_attributes id: user.id
+    end
+  end
+
+  describe 'PATCH #finish_signup' do
+    subject { patch :finish_signup, params: { user: { email: email }} }
+
+    let(:user) { Fabricate(:user) }
+    before do
+      sign_in user, scope: :user
+      @request.env['devise.mapping'] = Devise.mappings[:user]
+    end
+
+    context 'when email is valid' do
+      let(:email) { 'new_' + user.email }
+
+      it 'redirects to root_path' do
+        is_expected.to redirect_to root_path
+      end
+    end
+
+    context 'when email is invalid' do
+      let(:email) { '' }
+
+      it 'renders finish_signup' do
+        is_expected.to render_template :finish_signup
+      end
+    end
+  end
 end