diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-11-17 12:29:11 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-11-17 12:29:11 +0100 |
commit | 7ac574d9a9bb20684921150419cb3e559e9aad99 (patch) | |
tree | 0088c930d451530a2c6646476e61ff2175c8bd72 | |
parent | b2e504616aea3c274395575bfcca8cf45de1d180 (diff) |
Fix #148 - Devise mailer fixed, test spec added so it won't slip past again
-rw-r--r-- | app/mailers/user_mailer.rb | 6 | ||||
-rw-r--r-- | spec/controllers/auth/registrations_controller_spec.rb | 31 | ||||
-rw-r--r-- | spec/controllers/auth/sessions_controller_spec.rb | 2 |
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] |