Testing RSpec views: the index action; is my methodology flawed?

10 views
Skip to first unread message

David Zhang

unread,
Jun 30, 2011, 3:01:14 PM6/30/11
to rubyonra...@googlegroups.com
This is my organizations_controller_spec.rb:

require 'spec_helper'

describe Superadmin::OrganizationsController do
  describe "GET index" do
    it "shows a list of all organizations" do
      #pending "don't know why this doesn't work"
      Organization.should_receive(:all)
    end
  end
  
end

============

This is my controllers/superadmin/organizations_controller.rb:

class Superadmin::OrganizationsController < ApplicationController
  def index
    @organizations = Organization.all
  end
end


Oddly, this doesn't pass:

1) Superadmin::OrganizationsController GET index shows a list of all organizations
     Failure/Error: Organization.should_receive(:all)
       (<Organization(id: integer, name: string, created_at: datetime, updated_at: datetime) (class)>).all(any args)
           expected: 1 time
           received: 0 times

Is my methodology incorrect?

David Chelimsky

unread,
Jun 30, 2011, 3:29:10 PM6/30/11
to Ruby on Rails: Talk


On Jun 30, 2:01 pm, David Zhang <dzhan...@gmail.com> wrote:
> This is my organizations_controller_spec.rb:
>
> require 'spec_helper'
>
> describe Superadmin::OrganizationsController do
>   describe "GET index" do
>     it "shows a list of all organizations" do
>       #pending "don't know why this doesn't work"
>       Organization.should_receive(:all)


You've got to actually invoke the action here:

get :index

HTH,
David

David Zhang

unread,
Jun 30, 2011, 5:21:13 PM6/30/11
to rubyonra...@googlegroups.com
Oh, of course... thank you. How silly of me.

Question:  Do you recommend stubbing/mocking models?  Or could I just specify the real model as I did here?
Reply all
Reply to author
Forward
0 new messages