Joaquin Rivera Padron wrote:>
> hi there,
> In a step I need to assert (don''t know hoe to translate this
into
> "should" terms) state before keep going, example:
>
Perhaps you need to make an "expectation" instead of an
"assert"? :)
>
> Given "I have signed up as tom who is an admin" do |user,
role| do
> # call some steps to create user tom
>
> end
>
>
> oops, sorry that was gone unfinished!
>
> Given "I have signed up as tom who is an admin" do |user, role|
do
> # call some steps to create user tom
> # I need to assert that tom really have the rol (this is not the
> most important, so please bear with me)
> user_should_have_role user, role
> end
>
> that as you see is not very pretty, I would like to do:
>
> Spec::Matchers.define :have_rol do |role|
> match do |user|
> user.roles.collect{ |r| r.name <http://r.name> }.include?(role)
> end
> end
>
> and then "assert":
>
> tom.should have_role role
>
> only I don''t get to load the matcher. how you normally load custom
> machters to be used in cucumber?
Try putting your Spec::Matchers.define block in your env.rb file to see
if that works. I haven''t looked closely at how the new matcher DSL
adds
the matchers but I would think that would work.
-Ben