public function test_for_belongs_to_association() { $Thumbnail = new Thumbnail(); $Thumbnail = $Thumbnail->findFirstBy('caption', 'Lucky (our pet)'); $Thumbnail = new Thumbnail($Thumbnail->getId()); $this->assertEqual($Thumbnail->picture->getType(), 'belongsTo'); $Thumbnail = $Thumbnail->findFirstBy('caption:has', 'Lucky', array('include' => 'picture')); $this->assertEqual($Thumbnail->picture->getType(), 'Picture'); $this->assertEqual($Thumbnail->picture->title, 'The Akelos Media Team at Carlet'); $Alicia = $Thumbnail->create('caption->', 'Alicia'); $this->assertTrue(!$Alicia->isNewRecord()); $this->assertEqual($Alicia->picture->getType(), 'belongsTo'); $MyGirl = new Picture(array('title' => 'Alicia Sadurní')); $Alicia->picture->assign($MyGirl); $this->assertEqual($Alicia->picture->getType(), 'Picture'); $this->assertReference($Alicia->picture, $MyGirl); $this->assertFalse($MyGirl->isNewRecord()); $this->assertEqual($Alicia->get('photo_id'), $MyGirl->getId()); $this->assertTrue($Alicia->save()); $Thumbnail = new Thumbnail(); $Thumbnail->caption = 'Party 2005'; $Picture = $Thumbnail->picture->build(array('title' => 'Akelos Party 2005')); $this->assertReference($Thumbnail->picture, $Picture); $this->assertEqual($Picture->getType(), 'Picture'); $this->assertTrue($Picture->isNewRecord() && $Thumbnail->isNewRecord()); $this->assertTrue($Thumbnail->save()); $this->assertFalse($Picture->isNewRecord()); $this->assertFalse($Thumbnail->isNewRecord()); $Thumbnail = new Thumbnail(); $Thumbnail->caption = 'Party 2006'; $Picture = $Thumbnail->picture->create(array('title' => 'Akelos Party 2006')); $this->assertReference($Thumbnail->picture, $Picture); $this->assertEqual($Picture->getType(), 'Picture'); $this->assertFalse($Picture->isNewRecord()); $this->assertTrue($Thumbnail->isNewRecord()); $Thumbnail = new Thumbnail(array('title' => 'Akelos new office')); $Thumbnail->loadAssociations(); $Thumbnail->picture->assign($Picture); $this->assertTrue($Thumbnail->save()); $this->assertEqual($Thumbnail->photo_id, $Picture->id); }