Fix #148 - Devise mailer fixed, test spec added so it won't slip past again

master
Eugen Rochko 8 years ago
parent b2e504616a
commit 7ac574d9a9
  1. 6
      app/mailers/user_mailer.rb
  2. 31
      spec/controllers/auth/registrations_controller_spec.rb
  3. 2
      spec/controllers/auth/sessions_controller_spec.rb

@ -4,7 +4,7 @@ class UserMailer < Devise::Mailer
default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' } default from: ENV.fetch('SMTP_FROM_ADDRESS') { 'notifications@localhost' }
layout 'mailer' layout 'mailer'
def confirmation_instructions(user, token) def confirmation_instructions(user, token, _opts = {})
@resource = user @resource = user
@token = token @token = token
@ -13,7 +13,7 @@ class UserMailer < Devise::Mailer
end end
end end
def reset_password_instructions(user, token) def reset_password_instructions(user, token, _opts = {})
@resource = user @resource = user
@token = token @token = token
@ -22,7 +22,7 @@ class UserMailer < Devise::Mailer
end end
end end
def password_change(user) def password_change(user, _opts = {})
@resource = user @resource = user
I18n.with_locale(@resource.locale || I18n.default_locale) do I18n.with_locale(@resource.locale || I18n.default_locale) do

@ -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

@ -1,6 +1,8 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe Auth::SessionsController, type: :controller do RSpec.describe Auth::SessionsController, type: :controller do
render_views
describe 'GET #new' do describe 'GET #new' do
before do before do
request.env["devise.mapping"] = Devise.mappings[:user] request.env["devise.mapping"] = Devise.mappings[:user]

Loading…
Cancel
Save