No replies? That doesn't happen very often :).

regards,
bartz

On 13-mrt-2008, at 14:13, Bart Zonneveld wrote:

> Hey list,
>
> I'm refactoring some much-used functionality into a common_steps step
> group. Methods like this are in there:
>
> steps_for :common do
>    Given "a number of existing $types?" do |type|
>      @initial_item_count = type.singularize.classify.constantize.count
>    end
>
>    When "the user adds an invalid $type" do |type|
>      post "/#{type.pluralize}/create", type.to_sym => {}
>    end
>
>    When "the user adds a valid $type" do |type|
>      post "/#{type.pluralize}/create", type.to_sym => valid_attributes
>    end
>
>    Then "there should be $number more $type? in the system" do |
> number, type|
>      type.classify.constantize.count.should == (@initial_item_count +
> number.to_i)
>    end
>
>    Then "there should be an error message explaining what went  
> wrong" do
>      response.should have_tag('div#errorExplanation')
>    end
>
>    Then "the user should see the form again" do
>      response.should have_tag('form[method=post]')
>    end
> end
>
> This more or less works for me. However, I'm interested in two
> things. First, is this good practice? It's DRY, but I'm coupling my
> stories to these common steps in a way.. And second, is it possible
> to define a method in my specific stepgroup, that can be called from
> my common stepgroup?
> For instance, in the "user adds a valid type" step, I call a
> valid_attributes method. I'd like to define that on the specific
> stepgroup, but so far I haven't been able to get it called...
>
> thanks!
> bartz
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

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

Reply via email to