scube-server/spec/views/users/new.html.haml_spec.rb
2014-04-01 05:04:27 +00:00

60 lines
1.6 KiB
Ruby

require 'spec_helper'
describe 'users/new' do
let(:user) do
mock_model(User).as_new_record.as_null_object
end
before do
assign :user, user
end
it 'renders a form to sign up' do
render
rendered.should have_selector("form[method=post][action='#{users_path}']")
rendered.should have_selector('input[type=submit]')
end
it 'renders a text field with a label for the mail address' do
render
rendered.should have_selector(
"input[type=text][name='user[email]']"
)
rendered.should have_selector(
'label[for=user_email]', :text => 'Email'
)
end
it 'renders a password field with a label for the password' do
render
rendered.should have_selector(
"input[type=password][name='user[password]']"
)
rendered.should have_selector(
'label[for=user_password]', :text => 'Password'
)
end
it 'renders a password field with a label for the password confirmation' do
render
rendered.should have_selector(
"input[type=password][name='user[password_confirmation]']"
)
rendered.should have_selector(
'label[for=user_password_confirmation]',
:text => 'Password confirmation'
)
end
context 'when the user has some validation errors' do
it 'on the email address uniqueness' do
user = FactoryGirl.create(:user, :email => 'unique@example.net')
new_user = FactoryGirl.build(:user, :email => user.email)
new_user.save
assign :user, new_user
render
rendered.should have_content 'Email has already been taken'
end
end
end