[rspec-users] shared examples with a block for expects?

Justin Ko jko170 at gmail.com
Thu May 24 06:33:39 UTC 2012


On May 23, 2012, at 6:12 PM, Patrick J. Collins wrote:

> Hi,
> 
> Basically I want to do something like this:
> 
> describe FancyThingsController do
> 
>  def do_new
>    get :new
>  end
> 
>  def do_create
>    post :create, :fancy_thing => { :some => "params" }
>  end
> 
>  shared_examples "an access controlled action" do |expectation|
>    it "denies access" do
>      expect(&expectation).to raise_error(CanCan::AccessDenied)
>    end
>  end
> 
>  describe "#new" do
>    it_behaves_like "an access controlled action", proc { do_new }
>  end
> 
>  describe "#create" do
>    it_behaves_like "an access controlled action", proc { do_create }
>  end
> 

Just use a Proc:

describe '#new' do
  it_behaves_like 'an access controlled action', -> { get :new }
end

> end
> 
> but I get:  "expected CanCan::AccessDenied, got #<NameError: undefined
> local variable or method `do_create' for
> RSpec::Core::ExampleGroup::Nested_1::Nested_2:Class>"
> 
> Just curious, how can I do this?
> 
> Patrick J. Collins
> http://collinatorstudios.com
> 
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users



More information about the rspec-users mailing list