On 10 Dec 2008, at 17:40, James Byrne wrote:

So, if I understand you correctly, then I should write features somewhat
like this:

Scenario: A known user signs in successfully
 Given a known user "myuser" with a password "myuserpassword"
 When user "myuser" signs on with a password "myuserpassword"
 Then user "myuser" is authenticated
   And the user sees a sign in success message

Scenario: A known user does not sign in successfully
 Given a known user "myuser" with a password "myuserpassword"
 When user "myuser" signs in with a password "anotherpassword"
 Then user "myuser" is not authenticated
   And the user sees a sign in failure message
   And the user sees the sign in page

And I should simply not worry about what is provided by authlogic, other
than the requisite behaviour as exhibited in this application.

That's how I (and many others here) tackle it. But there's no need for the steps

  Then user "myuser" is authenticated

and

 Then user "myuser" is not authenticated

because these don't describe behaviour, they describe state. The "sign in message" steps are what you really want. And you can implement these as Matt described. Since you've written steps that create the user (preferably through the app itself!), you could extend the step like this

Given a known user "Mr Known User" with credentials "myuser" : "myuserpassword"

Then you already have the name to verify if you want to display a personalised message. (On the other hand, putting too much data in the steps gets cumbersome; I tend to write them more like this:

  Scenario: A known user signs in successfully
    Given I am a registered user
    When I sign on with the correct credentials
    Then I should see a sign in success message

Even if internally I call out to steps more like the ones you wrote as examples. Hope that doesn't muddy the waters though.

Ashley

--
http://www.patchspace.co.uk/
http://aviewfromafar.net/



_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to