about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/mailers/user_mailer.rb6
-rw-r--r--spec/controllers/auth/registrations_controller_spec.rb31
-rw-r--r--spec/controllers/auth/sessions_controller_spec.rb2
3 files changed, 36 insertions, 3 deletions
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
index 5c086768d..e3ca39b3a 100644
--- a/app/mailers/user_mailer.rb
+++ b/app/mailers/user_mailer.rb
@@ -4,7 +4,7 @@ class UserMailer < Devise::Mailer
   default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' }
   layout 'mailer'
 
-  def confirmation_instructions(user, token)
+  def confirmation_instructions(user, token, _opts = {})
     @resource = user
     @token    = token
 
@@ -13,7 +13,7 @@ class UserMailer < Devise::Mailer
     end
   end
 
-  def reset_password_instructions(user, token)
+  def reset_password_instructions(user, token, _opts = {})
     @resource = user
     @token    = token
 
@@ -22,7 +22,7 @@ class UserMailer < Devise::Mailer
     end
   end
 
-  def password_change(user)
+  def password_change(user, _opts = {})
     @resource = user
 
     I18n.with_locale(@resource.locale || I18n.default_locale) do
diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb
new file mode 100644
index 000000000..f7ebebbcb
--- /dev/null
+++ b/spec/controllers/auth/registrations_controller_spec.rb
@@ -0,0 +1,31 @@
+require 'rails_helper'
+
+RSpec.describe Auth::RegistrationsController, type: :controller do
+  render_views
+
+  describe 'GET #new' do
+    before do
+      request.env["devise.mapping"] = Devise.mappings[:user]
+    end
+
+    it 'returns http success' do
+      get :new
+      expect(response).to have_http_status(:success)
+    end
+  end
+
+  describe 'POST #create' do
+    before do
+      request.env["devise.mapping"] = Devise.mappings[:user]
+      post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678' } }
+    end
+
+    it 'redirects to home page' do
+      expect(response).to redirect_to root_path
+    end
+
+    it 'creates user' do
+      expect(User.find_by(email: 'test@example.com')).to_not be_nil
+    end
+  end
+end
diff --git a/spec/controllers/auth/sessions_controller_spec.rb b/spec/controllers/auth/sessions_controller_spec.rb
index 9dbbb5d45..c2a1fbe91 100644
--- a/spec/controllers/auth/sessions_controller_spec.rb
+++ b/spec/controllers/auth/sessions_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe Auth::SessionsController, type: :controller do
+  render_views
+
   describe 'GET #new' do
     before do
       request.env["devise.mapping"] = Devise.mappings[:user]