commit: 7ac574d9a9bb20684921150419cb3e559e9aad99
parent: b2e504616aea3c274395575bfcca8cf45de1d180
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 17 Nov 2016 12:29:11 +0100
Fix #148 - Devise mailer fixed, test spec added so it won't slip past again
Diffstat:
3 files changed, 36 insertions(+), 3 deletions(-)
diff --git 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
@@ -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
@@ -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]