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
>  rspec-users@rubyforge.org
>  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
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to