user_steps.rb revision b1ad052ea08cb4d92c02938aada49fd4230202c7
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefGiven(/^i visit the landing page\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef visit root_path
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefWhen(/^fill out the registration form\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef within "#new_user" do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef fill_in 'user_email', :with => 'foobar@example.com'
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef fill_in 'user_name', :with => 'Foo Bar'
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef fill_in 'user_password', :with => 'simple-password'
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef end
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefWhen(/^click on the singup button\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef within "#new_user" do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef click_on 'Sign Up'
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef end
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefThen(/^i should be on the after signup page$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef page.should have_content("Need Help?")
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef page.should have_content("Welcome Foo Bar")
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef current_path.should eq("/after_signup")
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefThen(/^a new User with given values is registred\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user = User.find_by_email("foobar@example.com")
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user.should_not be_nil
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefThen(/^it is not confirmed\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user.confirmed_at.should be_nil
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user.confirmation_token.should_not be_nil
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefGiven(/^I am an registered and confirmed user\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @password = SecureRandom.hex(10)
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user = FactoryGirl.create :user, :password => @password
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user.confirmed_at = Time.now
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user.save!
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefWhen(/^i fill out the login form\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef within '#sign_in' do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef fill_in 'user_email', :with => @user.email
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef fill_in 'user_password', :with => @password
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef end
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefWhen(/^click on the signin button\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef within '#sign_in' do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef click_on 'Sign In'
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef end
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha GraefThen(/^i should be logged in\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef page.should have_content(@user.name)
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef page.should have_content("Signed in successfully")
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend