Forum: RSpec rspec_scaffold and mocha

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
23ffe3f8f9467b4f33a5876d1403390a?d=identicon&s=25 jevado (Guest)
on 2009-05-07 21:17
(Received via mailing list)
Hi all,

Sorry if this get's posted several times but I got a message that my
previous post wasn't allowed because I'm not a member. I think I am
now though.

The problem I have is fairly simple. I have some plugins who use rspec
and mocha and I want to make use of the rspec_scaffold generator.
Unfortunately this doesn't work, the tests fail as soon as I set mocha
as my prefered mocking framework.

Is this by design or should it work out of the box.

If anybody knows about a generator that does work, please let me know

All the best!
Jeroen
902654bac6dff9567f018bd2ed933151?d=identicon&s=25 Nicholas Van Weerdenburg (Guest)
on 2009-05-11 03:19
(Received via mailing list)
On Thu, May 7, 2009 at 1:21 PM, jevado <jeroenvdoorn@gmail.com> wrote:

>
>
As far as I can tell, Nifty_Generators nifty_scaffold (
http://github.com/ryanb/nifty-generators/tree/master) generates rspec +
mocha scaffolding.  I wasn't using Mocha so I didn't look in detail.

e.g. here is a controller spec generated with nifty_scaffold for some
work I
was doing with the authlogic plugin:

describe UserSessionsController do
  fixtures :all
  integrate_views

  it "new action should render new template" do
    get :new
    response.should render_template(:new)
  end

  it "create action should render new template when model is invalid" do
    UserSession.any_instance.stubs(:valid?).returns(false)
    post :create
    response.should render_template(:new)
  end

  it "create action should redirect when model is valid" do
    UserSession.any_instance.stubs(:valid?).returns(true)
    post :create
    response.should redirect_to(root_url)
  end

  it "destroy action should destroy model and redirect to index action"
do
    user_session = UserSession.first
    delete :destroy, :id => user_session
    response.should redirect_to(root_url)
    UserSession.exists?(user_session.id).should be_false
  end
end
23ffe3f8f9467b4f33a5876d1403390a?d=identicon&s=25 jevado (Guest)
on 2009-05-12 08:29
(Received via mailing list)
Wow, thanks for all the replies ...

The rspec scaffold generates more tests than the nifty_scaffold. I
didn't look into it in detail yet cause some of the nifty tests where
failing too.

What I did to get it workin is map the missing methods (used by
respec) to methods in mocha. I also use the mislav-rspec-rails-mocha
plugin.

example:

module Mocha
  class Expectation

  def and_return(*values)
      returns(*values)
    end

  end
end

On May 11, 3:17 am, Nicholas Van Weerdenburg <vanwe...@gmail.com>
23ffe3f8f9467b4f33a5876d1403390a?d=identicon&s=25 jevado (Guest)
on 2009-05-12 08:32
(Received via mailing list)
post wasn't finished yet ...

I know that it's not very clean but since it's just for scaffolding
and I'll probably rewrite most of the tests later on anyway it's
acceptable for now.

Thanks again and I'll monitor the GSOC project :)

Kind regards,
Jeroen

On May 11, 3:17 am, Nicholas Van Weerdenburg <vanwe...@gmail.com>
This topic is locked and can not be replied to.