[rspec-users] Restful Authentication and Cucumber

Michael Guterl mguterl at gmail.com
Thu Nov 27 18:38:23 EST 2008


On Thu, Nov 27, 2008 at 12:58 AM, Andrei Erdoss <erdoss at gmail.com> wrote:
> Hello,
>
> I am using Restful Authentication and I would like to login in Cucumber. I
> am having trouble keeping the user logged in. I tried finding a solution for
> this everywhere. Only source is this article:
> http://afreshcup.com/2008/10/09/authentication-in-cucumber-tests/
>
> This is how my feature looks like:
>
> Scenario: Register new place
>     Given I am logged in as a user
>     And I am on the new place page with parent place "Georgia"
>     When I fill in "Name" with "Atlanta"
>     And I press "Create"
>     And I should see "Atlanta"
>
> This is the step:
>
> Given /I am logged in as a user/ do
>    @current_user = Factory.define :user do |u|
>      u.name 'the user'
>      u.email 'erdoss at gmail.com'
>      u.login  'the_login'
>      u.password 'password'
>      u.password_confirmation 'password'
>    end
>    visits "/login"
>    fills_in("login", :with => "the_login")
>    fills_in("password", :with => "password")
>    clicks_button("Log in")
> end
>
I don't think Factory.define returns the instance that you defined and
defining the factory certainly does not store the instance to the
database.

I'd recommend putting your factories in a separate file and require
them at the beginning of your step file.

You could then do @current_user = Factory(:user), which will actually
store the user to the database.

HTH,
Michael Guterl


More information about the rspec-users mailing list