45 lines
1.1 KiB
Ruby
45 lines
1.1 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe UsersController do
|
|
describe 'GET new' do
|
|
it 'assigns a new user as @user' do
|
|
get :new
|
|
assigns[:user].should be_a_new(User)
|
|
end
|
|
end
|
|
|
|
describe 'POST create' do
|
|
context 'whith valid params' do
|
|
it 'creates a new user' do
|
|
expect {
|
|
post :create, :user => FactoryGirl.attributes_for(:user)
|
|
}.to change(User, :count).by(1)
|
|
end
|
|
|
|
it 'signs the user in' do
|
|
post :create, :user => FactoryGirl.attributes_for(:user)
|
|
controller.current_user.should_not be_nil
|
|
end
|
|
|
|
it 'redirects to the home page' do
|
|
post :create, :user => FactoryGirl.attributes_for(:user)
|
|
response.should redirect_to(:root)
|
|
end
|
|
end
|
|
|
|
context 'whith invalid params' do
|
|
before { User.any_instance.stub(:save).and_return(false) }
|
|
|
|
it 'assigns the user as @user' do
|
|
post :create, :user => {}
|
|
assigns[:user].should be_a_new(User)
|
|
end
|
|
|
|
it 'renders the new template' do
|
|
post :create, :user => {}
|
|
response.should render_template('new')
|
|
end
|
|
end
|
|
end
|
|
end
|