Are u stubbing Image.new and returning @image?? otherwise I think the error is accurately complaining that it did not receive :image= with the object that you have said.
Cheers Shane On 14/03/2008, at 12:55 PM, Oliver Barnes wrote: > 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 Shane Mingins ELC Technologies (TM) 1921 State Street Santa Barbara, CA 93101 Phone: +64 4 568 6684 Mobile: +64 21 435 586 Email: [EMAIL PROTECTED] AIM: ShaneMingins Skype: shane.mingins (866) 863-7365 Tel - Santa Barbara Office (866) 893-1902 Fax - Santa Barbara Office +44 020 7504 1346 Tel - London Office +44 020 7504 1347 Fax - London Office http://www.elctech.com -------------------------------------------------------------------- Privacy and Confidentiality Notice: The information contained in this electronic mail message is intended for the named recipient(s) only. It may contain privileged and confidential information. If you are not an intended recipient, you must not copy, forward, distribute or take any action in reliance on it. If you have received this electronic mail message in error, please notify the sender immediately. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users