function test_for_multiple_hasone_and_belongsto() { $Altea =& new Picture(array('title'=>'Altea Cupula de Mediterraneo, Costa Blanca')); $Altea->main_thumbnail->build(array('caption'=>'Altea')); $this->assertTrue($Altea->main_thumbnail->isNewRecord()); $this->assertEqual($Altea->main_thumbnail->getType(), 'Thumbnail'); $this->assertTrue($Altea->save()); $this->assertFalse($Altea->main_thumbnail->isNewRecord()); $Altea =& new Picture(array('title'=>'Altea2')); $Altea->main_thumbnail->create(array('caption'=>'Altea2')); $this->assertFalse($Altea->main_thumbnail->isNewRecord()); $this->assertEqual($Altea->main_thumbnail->getType(), 'Thumbnail'); $this->assertTrue($Altea->save()); $Altea =& new Picture(array('title'=>'Altea3')); $Altea->main_thumbnail->assign(new Thumbnail(array('caption'=>'Altea3'))); $this->assertTrue($Altea->main_thumbnail->isNewRecord()); $this->assertEqual($Altea->main_thumbnail->getType(), 'Thumbnail'); $this->assertTrue($Altea->save()); $this->assertFalse($Altea->main_thumbnail->isNewRecord()); $Altea->main_thumbnail->replace(new Thumbnail(array('caption'=>'3rd Altea pic'))); $this->assertFalse($Altea->main_thumbnail->isNewRecord()); $Thumbnail = new Thumbnail(); $this->assertFalse($Thumbnail->findFirstBy('caption','Altea3')); $Panorama =& new Panorama(array('title'=>'Views from the old town')); $this->assertTrue($Panorama->save()); $Panorama->thumbnail->build(array('caption'=>'Altea paronamic views from the Old town')); $this->assertEqual($Panorama->thumbnail->getType(), 'Thumbnail'); $this->assertTrue($Panorama->thumbnail->isNewRecord()); $this->assertTrue($Panorama->save()); $this->assertFalse($Panorama->thumbnail->isNewRecord()); $Thumbnail =& new Thumbnail(); $Thumbnail = $Thumbnail->findFirstBy('caption:has', 'Old town', array('include'=>'panorama')); $this->assertEqual($Thumbnail->panorama->title, 'Views from the old town'); }