I meant the view code as well.
On 10/5/07, Andrew WC Brown <[EMAIL PROTECTED]> wrote: > As soon as I add a second key to the hash it gives me that error > > before do > game = mock_model(Game, :name => 'The Battle for Blaze', :enabled => > 'true') > game.should_receive(:name).and_return('The Battle for Blaze') > game.should_receive(:enabled).and_return('true') > > @game = game > end > > 1) > Spec::Mocks::MockExpectationError in '/games/_game.rhtml > should show game name' > Mock 'Game_1082' expected :enabled with (any args) once, but received it 0 > times > ./spec/views/games/_game.rhtml_spec.rb:19: > > But if it only has name it works fine. > > ?!??! I have other mock models setup that don't give me that trouble. > > > > On 10/5/07, Andrew WC Brown <[EMAIL PROTECTED]> wrote: > > _game.rhtml_spec > > > > require File.dirname(__FILE__) + '/../../spec_helper' > > > > describe "/games/_game.rhtml" do > > include GamesHelper > > > > before do > > game = mock_model(Game, > > :name => 'The Battle for Blaze', > > :salt_grains => 5000000, > > :people => 5000000, > > :days => nil, > > :created_at => "Mon Oct 01 00:02:44 -0400 2007", > > :enabled => true) > > game.should_receive (:name).and_return('The Battle for Blaze') > > game.should_receive(:salt_grains).and_return(5000000) > > game.should_receive(:people).and_return(5000000) > > game.should_receive(:days).and_return(nil) > > game.should_receive(:created_at).and_return("Mon Oct 01 00:02:44 -0400 > 2007") > > game.should_receive(:enabled).and_return(true) > > > > @game = game > > end > > > > it "should show game name" do > > render :partial =>"games/game", :locals => {:game => @game} > > response.should have_text(/The Battle for Blaze/) > > end > > > > end > > > > When you say full listing did you mean html format? > > I cut out most of my specs just to spec the partial. > > I only have the one spec in my partial > > > > > > > > > > > > On 10/5/07, David Chelimsky < [EMAIL PROTECTED]> wrote: > > > On 10/5/07, Andrew WC Brown < [EMAIL PROTECTED]> wrote: > > > > Well I think my biggest problem I was having was the fact that my > before > > > > block was: > > > > > > > > def before > > > > end > > > > > > > > instead of > > > > > > > > before do > > > > end > > > > > > D'oh - can't believe I missed that. > > > > > > > > > > > So I think its working, although my mock is complaining now: > > > > before do > > > > game = mock_model(Game, > > > > :name => 'The Battle for Blaze', > > > > :salt_grains => 5000000, > > > > :people => 5000000, > > > > :days => nil, > > > > :created_at => "Mon Oct 01 00:02:44 -0400 2007", > > > > :enabled => true) > > > > game.should_receive(:name).and_return('The Battle for Blaze') > > > > game.should_receive > (:salt_grains).and_return(5000000) > > > > game.should_receive(:people).and_return(5000000) > > > > game.should_receive(:days).and_return(nil) > > > > game.should_receive(:created_at).and_return("Mon Oct 01 00:02:44 > -0400 > > > > 2007") > > > > game.should_receive(:enabled).and_return(true) > > > > @game = game > > > > end > > > > > > > > 1) > > > > Spec::Mocks::MockExpectationError in > '/games/_game.rhtml > > > > should show game name' > > > > Mock 'Game_1082' expected :salt_grains with (any args) once, but > received it > > > > 0 times > > > > ./spec/views/games/_game.rhtml_spec.rb:15: > > > > > > I'd need to see the full listing of both spec and code as they are now > > > to help you w/ that. > > > > > > > > > > > > > > > On 10/5/07, David Chelimsky < [EMAIL PROTECTED]> wrote: > > > > > On 10/5/07, Andrew WC Brown < [EMAIL PROTECTED] > wrote: > > > > > > Well when I saw that originally thats what I thought the response > was > > > > > > suppose to come after the render but: > > > > > > > > > > > > ActionView::ActionViewError in '/games/_game.rhtml should show > game > > > > name' > > > > > > No rhtml, rxml, rjs or delegate template found for //_game in > > > > > > > /Volumes/EXTERNAL/web/omenking.ca/config/../app/views > > > > > > > > > > > > games/_game.rhtml does exist. > > > > > > > > > > > > which maybe I have to state: > > > > > > > > > > > > it "should show game name" do > > > > > > render :partial =>"games/game", :collection => @games > > > > > > response.should have_text(/The Battle for Blaze/) > > > > > > end > > > > > > > > > > > > but then: > > > > > > > > > > > > 1) > > > > > > ActionView::TemplateError in '/games/_game.rhtml should show game > name' > > > > > > You have a nil object when you didn't expect it! > > > > > > The error occurred while evaluating nil.name > > > > > > On line #1 of app/views/games/_game.rhtml > > > > > > > > > > > > 1: <%= h game.name %> > > > > > > > > > > > > so the local variable is show up nil. > > > > > > > > > > :collection is something rails uses to render a template multiple > > > > > times. RSpec only renders the file once (as intended). Try using > > > > > :object: > > > > > > > > > > render :partial =>"games/game", :object => @game > > > > > > > > > > (of course, you'll have to have setup @game). > > > > > > > > > > > > > > > > > > > > > > > On 10/5/07, David Chelimsky <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > On 10/5/07, Andrew WC Brown < [EMAIL PROTECTED]> wrote: > > > > > > > > 1) > > > > > > > > '/games/_game.rhtml should show game name' FAILED > > > > > > > > expected /The Battle for Blaze/, got "" > > > > > > > > ./spec/views/games/_game.rhtml_spec.rb:39: > > > > > > > > > > > > > > > > def before > > > > > > > > game_1 = mock_model(Game, > > > > > > > > :name => 'The Battle for Blaze', > > > > > > > > :salt_grains => 5000000, > > > > > > > > :people => 5000000, > > > > > > > > :days => nil, > > > > > > > > :created_at => "Mon Oct 01 00:02:44 -0400 2007", > > > > > > > > :enabled => true) > > > > > > > > > game_1.should_receive(:name).and_return("The > > > > Battle > > > > > > for > > > > > > > > Blaze") > > > > > > > > > > > > > > > game_1.should_receive(:salt_grains).and_return(5000000) > > > > > > > > > > > > game_1.should_receive(:people).and_return(5000000) > > > > > > > > > game_1.should_receive(:days).and_return(nil) > > > > > > > > > > > > game_1.should_receive(:created_at).and_return("Mon > > > > > > Oct > > > > > > > > 01 00:02:44 -0400 2007") > > > > > > > > > > > > game_1.should_receive(:enabled).and_return(true) > > > > > > > > > > > > > > > > game_2 = mock_model(Game, > > > > > > > > :name => 'Epicbattlegrounds', > > > > > > > > :salt_grains => 30000000, > > > > > > > > :people => 20000000, > > > > > > > > :days => 100, > > > > > > > > :created_at => "Mon Sept 01 12:02:44 -0400 2007", > > > > > > > > :enabled => false) > > > > > > > > > > > > > > > > > > > > > > > > > > > game_2.should_receive(:name).and_return("Epicbattlegrounds") > > > > > > > > > > > > > > > > > > > > > > > > > > > game_2.should_receive(:salt_grains).and_return(30000000) > > > > > > > > > > > > game_2.should_receive(:people).and_return(20000000) > > > > > > > > > game_2.should_receive(:days).and_return(100) > > > > > > > > > > > > game_2.should_receive(:created_at).and_return("Mon > > > > > > Sept > > > > > > > > 01 12:02:44 -0400 2007") > > > > > > > > > > > > game_2.should_receive(:enabled).and_return(false) > > > > > > > > @games = [game_1, game_2] > > > > > > > > assigns[:games] = [game_1, game_2] > > > > > > > > end > > > > > > > > > > > > > > > > it "should show game name" do > > > > > > > > response.should have_text(/The Battle for Blaze/) > > > > > > > > render :partial =>"game", :collection => @games > > > > > > > > > > > > > > Switch these around: > > > > > > > > > > > > > > render :partial =>"game", :collection => @games > > > > > > > response.should have_text(/The Battle for Blaze/) > > > > > > > > > > > > > > > > > > > > > > end > > > > > > > > > > > > > > > > I think the local variable is showing up nil because my specs > in the > > > > > > > > index.rhtml were failing when they were fine before and they > were > > > > saying > > > > > > > > they didn't know what this game variable was. > > > > > > > > > > > > > > > > Any ideas? > > > > > > > > > > > > > > > > > > > > > > > > On 10/5/07, David Chelimsky < [EMAIL PROTECTED]> wrote: > > > > > > > > > On 10/5/07, Andrew WC Brown < [EMAIL PROTECTED]> wrote: > > > > > > > > > > I'm trying to spec out a render partial collection but I > get the > > > > > > > > following > > > > > > > > > > error > > > > > > > > > > > > > > > > > > > > 2) > > > > > > > > > > NoMethodError in '/games/_game.rhtml should show game > name' > > > > > > > > > > undefined method `body' for > #<#<Class:0x316580c>:0x2f1154c> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > /Volumes/EXTERNAL/web/omenking.ca/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb:12:in > > > > > > > > > > `matches?' > > > > > > > > > > > ./spec/views/games/_game.rhtml_spec.rb:39: > > > > > > > > > > > > > > > > > > > > def before > > > > > > > > > > game = mock_model(Game, > > > > > > > > > > :name => 'The Battle for Blaze', > > > > > > > > > > :salt_grains => 5000000, > > > > > > > > > > :people => 5000000, > > > > > > > > > > :days => nil, > > > > > > > > > > :created_at => "Mon Oct 01 00:02:44 -0400 2007", > > > > > > > > > > :enabled => true) > > > > > > > > > > game.should_receive(:name).and_return("The Battle for > > > > Blaze") > > > > > > > > > > > > > > > > > > > > > > game.should_receive(:salt_grains).and_return(5000000) > > > > > > > > > > game.should_receive(:people).and_return(5000000) > > > > > > > > > > game.should_receive (:days).and_return(nil) > > > > > > > > > > game.should_receive(:created_at).and_return("Mon Oct > 01 > > > > 00:02:44 > > > > > > > > -0400 > > > > > > > > > > 2007") > > > > > > > > > > game.should_receive(:enabled).and_return(true) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > assigns[:games] = [game] > > > > > > > > > > end > > > > > > > > > > > > > > > > > > > > it "should show game name" do > > > > > > > > > > template.should have_text(/The Battle for Blaze/) > > > > > > > > > > > > > > > > > > response.should have_text .... > > > > > > > > > > > > > > > > > > (not template.should ...) > > > > > > > > > > > > > > > > > > > render :partial =>"game", :collection => @games > > > > > > > > > > end > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > rspec-users mailing list > > > > > > > > > > rspec-users@rubyforge.org > > > > > > > > > > > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > rspec-users mailing list > > > > > > > > > rspec-users@rubyforge.org > > > > > > > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > rspec-users mailing list > > > > > > > > rspec-users@rubyforge.org > > > > > > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > rspec-users mailing list > > > > > > > rspec-users@rubyforge.org > > > > > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > rspec-users mailing list > > > > > > rspec-users@rubyforge.org > > > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > _______________________________________________ > > > > > rspec-users mailing list > > > > > rspec-users@rubyforge.org > > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > rspec-users mailing list > > > > rspec-users@rubyforge.org > > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > _______________________________________________ > > > rspec-users mailing list > > > rspec-users@rubyforge.org > > > http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > > > > > -- > > Monsterbox Productions > > putting small businesses on-line > > > > 1319 Victoria Avenue East > > Thunder Bay, Ontario P7C 1C3 > > Canada > > > > Andrew WC Brown > > web-developer and owner > > [EMAIL PROTECTED] > > P: 807-626-9009 > > F: 807-624-2705 > > > > -- > Monsterbox Productions > putting small businesses on-line > > 1319 Victoria Avenue East > Thunder Bay, Ontario P7C 1C3 > Canada > > Andrew WC Brown > web-developer and owner > [EMAIL PROTECTED] > P: 807-626-9009 > F: 807-624-2705 > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users