Buenas gente,

Estoy empezando un proyecto y quiero usar fuertemente RSpec / StoryRunner /
etc. Y en ese camino estoy :P, pero me surge la siguiente duda: Hay alguna
forma de no duplicar (lo más DRY posible) las Stories?

En particular, yo estoy usando restful_authentication para la autenticación
de usuarios. Mi idea es tener 2 stories, una relacionada al loggin de
usuarios (login_story) y otra particular del portal (portal_story). La
segunda story dependería de la primera ya que solo usuarios logeados pueden
ingresar al portal.

#stories/login_story
Story: User logging in

   Scenario: User pepe logs in

     Given a user with login 'pepe'
     And a password 'test'
     And is not logged in

     When user goes to /
     And the user logs in with username and password

     Then the user should be logged in
     And the request should be redirected to /

  ..

  #stories/portal_story
  Story: Portal functionality

    Scenario: User pepe check news

      GivenScenario User pepe logs in

      When following the redirection

      Then the user should see the show template of news
      And all the news should be shown within the page

La forma en la corro estas stories es la siguiente:

#stories/login_story.rb
require File.dirname(__FILE__) + "/helper"
with_steps_for(:login) do
  run File.join(File.dirname(__FILE__), "login_story"), :type => RailsStory
end

#stories/portal_story.rb
require File.dirname(__FILE__) + "/helper"
with_steps_for(:login, :portal) do
  run File.join(File.dirname(__FILE__), "portal_story"), :type => RailsStory
end

El problema que estoy teniendo es que de esta forma si ejecuto el
portal_story.rb (*ruby stories/portal_story.rb*), el mismo no encuentra el
Scenario "User pepe logs in".... A menos, que ubique ese Scenario dentro del
mismo archivo stories/portal_story, ahi SI lo encuentra, obviamente. De esta
forma,  termino duplicando los Scenarios...there's got to be another way :P

En definitiva, no encontre como se podría hacer mejor, pero dado q me parece
un problema bastante común capaz que alguno tenía experiencia en el tema.

Salutes y Muchas Gracias,
  Marcelo.
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a