Use `let` in Profiles::NotificationsController spec

This commit is contained in:
Richard Macklin 2017-02-03 20:49:45 -08:00
parent 4647d13893
commit 0e2c96e709
1 changed files with 9 additions and 12 deletions

View File

@ -1,9 +1,17 @@
require 'spec_helper'
describe Profiles::NotificationsController do
let(:user) do
create(:user) do |user|
user.emails.create(email: 'original@example.com')
user.emails.create(email: 'new@example.com')
user.update(notification_email: 'original@example.com')
user.save!
end
end
describe 'GET show' do
it 'renders' do
user = create_user
sign_in(user)
get :show
@ -14,7 +22,6 @@ describe Profiles::NotificationsController do
describe 'POST update' do
it 'updates only permitted attributes' do
user = create_user
sign_in(user)
put :update, user: { notification_email: 'new@example.com', notified_of_own_activity: true, admin: true }
@ -27,7 +34,6 @@ describe Profiles::NotificationsController do
end
it 'shows an error message if the params are invalid' do
user = create_user
sign_in(user)
put :update, user: { notification_email: '' }
@ -36,13 +42,4 @@ describe Profiles::NotificationsController do
expect(controller).to set_flash[:alert].to('Failed to save new settings')
end
end
def create_user
create(:user) do |user|
user.emails.create(email: 'original@example.com')
user.emails.create(email: 'new@example.com')
user.update(notification_email: 'original@example.com')
user.save!
end
end
end