I see. I had gotten to trying the first way you suggested (haven't
tried the second yet):
it "should assign an image to the work" do
@work.should_receive(:image=).with(@image)
end
but I got the following error:
should assign an image to the work
Mock 'Work_1002' expected :image= with (#<Image:0x19e8094
@name="Image_1001">) once, but received it 0 times
though in the actual controller @work does receive it:
def create
@work = @category.works.build(params[:work])
@image = Image.new(params[:image])
@work.image = @image
respond_to do |format|
if @image.save and @work.save
flash[:notice] = 'Work was successfully created.'
format.html { redirect_to admin_category_work_path(@category,@work) }
else
format.html { render :action => "new" }
end
end
end
I'm sure I'm missing something here...
2008/3/13, Pat Maddox <[EMAIL PROTECTED]>:
> On Thu, Mar 13, 2008 at 3:54 PM, Oliver Barnes
>
> <[EMAIL PROTECTED]> wrote:
>
> > thanks pat, it's still a good primer ;)
> >
> > I'm getting a better handle at it, but I'm still confused as to how to
> > test assigment of associated objects. for instance, how do I test this
> > (using attachment_fu)?
> >
> > @work.image = @image
>
>
> You could either use an interaction-based or state-based test.
>
> it "should assign the work image" do
> @mock_work.should_receive(:image=).with(@mock_image)
> end
>
> it "should assign the work image" do
> Work.find(3).image.should_not be_nil
> end
>
> The basic idea is that you're specifying that it receives a method
> call that you know works, or you can verify some state that should be
> true once the action has taken place.
>
> hth
>
>
> Pat
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
--
Oliver Azevedo Barnes
[EMAIL PROTECTED]
+55 11 9768 0193
http://www.linkedin.com/in/oliverbarnes
http://workingwithrails.com/person/4704-oliver-barnes
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users