On 27 Nov 2008, at 23:38, Michael Guterl wrote:
On Thu, Nov 27, 2008 at 12:58 AM, Andrei Erdoss <[EMAIL PROTECTED]>
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 '[EMAIL PROTECTED]'
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.
+1!!
That's the whole point of the factory_girl - re-usable test data!
Once you've got that set up, a whole new world opens up.
For example, at Songkick, we have a step like this:
Given /there is (?:one|an?) ([^ ]+)$/ do |entity_type|
Factory(entity_type.underscore.to_sym)
end
cheers,
Matt
You could then do @current_user = Factory(:user), which will actually
store the user to the database.
HTH,
Michael Guterl
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users