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 <[email protected]> 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 <[email protected]> wrote:
>>>> On Thu, Jun 10, 2010 at 4:41 PM, <[email protected]> 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
>>>> [email protected]http://rubyforge.org/mailman/listinfo/rspec-users
>>> _______________________________________________
>>> rspec-users mailing list
>>> [email protected]
>>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>> _______________________________________________
>> rspec-users mailing list
>> [email protected]http://rubyforge.org/mailman/listinfo/rspec-users
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users