On Jun 13, 2010, at 4:35 PM, Kristian Mandrup wrote:

> Hi David,
> 
> Sounds great! Looking forward to more documentation :)
> I have now gone through all the examples in the RSpec book and got
> them working with the latest version of RSpec 2 and Rails 3 beta4.
> I only have one loose end:
> 
> shared_examples_for "a template that renders the messages/form
> partial" do
>  it "renders the messages/form partial" do
>    template.should_receive(:render).with(
>      :partial => "form",
>      :locals => { :message => assigns[:message] }
>    )
>    render
>  end
> end
> 
> undefined local variable or method `template' for
> #<RSpec::Core::ExampleGroup::Nested_8:0x00000100e019a0>
> 
> Changing template to _view as you instructed previously (I think)
> 
>    _view.should_receive(:render).with(
>      :partial => "form",
>      :locals => { :message => assigns[:message] }
>    )
> 
> #<ActionView::Base:0x00000100e98c88> received :render with unexpected
> arguments
>      expected: ({:partial=>"form", :locals=>{:message=>nil}})
>           got: ({:template=>"messages/edit.html.erb"}, {})
> 
> But this is my edit.html
> 
> <%= render "form", :message => @message %>
> 
> So _view only contains info on the view. How do I get info on the
> templates called as part of the rendering process?

See the bit on View Specs on 
http://github.com/rspec/rspec-rails/blob/master/Upgrade.markdown

> 
> 
> On Jun 13, 3:29 pm, David Chelimsky <dchelim...@gmail.com> wrote:
>> On Jun 13, 2010, at 6:49 AM, Kristian Mandrup wrote:
>> 
>>> assigns(:message).should eq(@message)
>> 
>>> assign(:message, stub("Message", :text => "Hello world!"))
>> 
>>> Hmm, so 'assign' to assign a variable and 'assigns' to read an
>>> assigned variable?
>>> We need to update the RSpec 2 wiki or somewhere with all these API
>>> changes so it is clear to everyone.
>> 
>> There's already info about assign(key, val) on the rspec-rails 
>> readme:http://github.com/rspec/rspec-rails. I'll add something about 
>> assigns(:key) as well.
>> 
>> Keep in mind that assign(k,v) is used in view specs to provide data to the 
>> view, whereas assigns(key) is used in controller specs to express 
>> expectations about what the controller does.
>> 
>> As for the wiki, let's hold off on that for now. There is currently 
>> insufficient  documentation in too many places, and the wiki has, at times, 
>> caused more confusion than benefit. I've got a few thoughts rolling around 
>> about how to best address this, and I'll follow up on that in a separate 
>> thread in the next couple of days.
>> 
>> Cheers,
>> David
>> 
>> 
>> 
>>> On Jun 11, 9:08 am, David Chelimsky <dchelim...@gmail.com> wrote:
>>>> On Thu, Jun 10, 2010 at 4:41 PM, <jfran...@gmail.com> wrote:
>>>>> I might be missing something basic here, but I'm stumped on this
>>>>> error:
>> 
>>>>> model code:
>> 
>>>>> class CachedStat < ActiveRecord::Base
>>>>>    def self.create_stats_days_ago(days_ago, human_id)
>>>>>    d = Date.today - days_ago.day
>>>>>    @prs = PageRequest.find(:all, :conditions => [ "owner_type =
>>>>> 'Human' and owner_id = ? and created_at = ?", human_id, d] )
>>>>>  end
>>>>> end
>> 
>>>>> spec code:
>> 
>>>>>  it "should create stats for the specified number of days in the
>>>>> past" do
>>>>>    CachedStat.create_stats_days_ago(1, Human.first.id)
>>>>>    assigns[:prs].should eql("foo")
>>>>>  end
>> 
>>>>> The error is: undefined local variable or method `assigns' for
>>>>> #<Spec::Rails::Example::ModelExampleGroup::Subclass_1:0x2fbac28>
>> 
>>>>> I feel like I'm overlooking something obvious but it's invisible to
>>>>> me. Any suggestions?
>> 
>>>> assigns is for controller and view specs, not model specs. What is it
>>>> you're trying to specify here?
>>>> _______________________________________________
>>>> rspec-users mailing list
>>>> rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
>>> _______________________________________________
>>> rspec-users mailing list
>>> rspec-us...@rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/rspec-users
>> 
>> _______________________________________________
>> rspec-users mailing list
>> rspec-us...@rubyforge.orghttp://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

Reply via email to