some interesting viewpoints so far. How do people feel about something like
this:

Given every type of user
When they visit account/manage
Then only Admins and Managers should get access

Given("every type of user") do
  @users = {
    :admin => new_admin, 
    :manager => new_manager, 
    :supervisor => new_supervisor, 
    :reviewer => new_reviewer, 
    :user => new_user
}
end

When("they visit $url") do |url|
  @url = url
end

Then("only $allow_list should get access") do |allow_list|
  allow_list = allow_list.split(' and ').collect {|x|
x.downcase.singularize.intern}
  allow_list.each do |x| 
    user = @users.delete(x)
    # log user in
    get @url
    response.should_not be_redirect
  end
  @users.each do |x|
    #log user in
    get @url
    response.should redirect_to("not_authorised")
  end
end

any major BDD violations there? I personally don't mind the somewhat complex
steps because as Ben pointed out, the plain text stories are more manageable
this way and still very readable. 
 

Neil M. Young wrote:
> 
> I'm finding that I'm writing sets of very similar scenarios to check
> access permissions for each of my actions.
> 
> snip
> 

-- 
View this message in context: 
http://www.nabble.com/DRYing-up-stories-tp15053384p15060580.html
Sent from the rspec-users mailing list archive at Nabble.com.

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

Reply via email to