user_steps.rb revision f7670322c267c298084c3b40ed196cdf9a1f2bc7
00133496214b7857c585356b36b469a0e3d94b1fSascha GraefGiven(/^I visit the landing page\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef visit root_path
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
f7670322c267c298084c3b40ed196cdf9a1f2bc7Sascha GraefWhen(/^I fill in 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
00133496214b7857c585356b36b469a0e3d94b1fSascha 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 Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
f7670322c267c298084c3b40ed196cdf9a1f2bc7Sascha GraefThen(/^a new User with the given values is registered\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user = User.find_by_email("foobar@example.com")
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef @user.should_not be_nil
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
f7670322c267c298084c3b40ed196cdf9a1f2bc7Sascha GraefThen(/^he 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
f7670322c267c298084c3b40ed196cdf9a1f2bc7Sascha GraefGiven(/^I am a 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
f7670322c267c298084c3b40ed196cdf9a1f2bc7Sascha GraefWhen(/^I fill in 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
f7670322c267c298084c3b40ed196cdf9a1f2bc7Sascha GraefWhen(/^click on the sign in button\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef within '#sign_in' do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef click_on 'Sign In'
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef end
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graefend
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef
00133496214b7857c585356b36b469a0e3d94b1fSascha GraefThen(/^I should be logged in\.$/) do
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef page.should have_content(@user.name)
b1ad052ea08cb4d92c02938aada49fd4230202c7Sascha Graef page.should have_content("Signed in successfully")
bf1c90d1ef911ed312664a23d709363d359be380Sascha Graefend