Example #1
0
 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);
 }