示例#1
0
 /**
  * test that a plugin model as the 'with' model doesn't have issues
  *
  * @return void
  */
 public function testDeleteLinksWithPLuginJoinModel()
 {
     $this->loadFixtures('Boat', 'boatsTag', 'Tag');
     $Boat = new Boat();
     $Boat->unbindModel(array('hasAndBelongsToMany' => array('Tag')), false);
     unset($Boat->Tag, $Boat->BoatTags);
     $Boat->bindModel(array('hasAndBelongsToMany' => array('Tag' => array('with' => 'TestPlugin.boatsTag'))), false);
     $Boat->boatsTag->order = null;
     $this->assertTrue($Boat->delete(1));
 }
示例#2
0
 /**
  * testSaveHabtmNoPrimaryData method
  *
  * @return void
  */
 public function testSaveHabtmNoPrimaryData()
 {
     $this->loadFixtures('Boat', 'User', 'Comment', 'Tag', 'boatsTag');
     $TestModel = new Boat();
     $TestModel->unbindModel(array('belongsTo' => array('User'), 'hasMany' => array('Comment')), false);
     $result = $TestModel->findById(2);
     $expected = array('Boat' => array('id' => '2', 'user_id' => '3', 'title' => 'Second Boat', 'body' => 'Second Boat Body', 'published' => 'Y', 'created' => '2007-03-18 10:41:23', 'updated' => '2007-03-18 10:43:31'), 'Tag' => array(array('id' => '1', 'tag' => 'tag1', 'created' => '2007-03-18 12:22:23', 'updated' => '2007-03-18 12:24:31'), array('id' => '3', 'tag' => 'tag3', 'created' => '2007-03-18 12:26:23', 'updated' => '2007-03-18 12:28:31')));
     $this->assertEquals($expected, $result);
     $TestModel->id = 2;
     $data = array('Tag' => array('Tag' => array(2)));
     $result = $TestModel->save($data);
     $this->assertEquals($data['Tag'], $result['Tag']);
     $result = $TestModel->findById(2);
     $expected = array('Boat' => array('id' => '2', 'user_id' => '3', 'title' => 'Second Boat', 'body' => 'Second Boat Body', 'published' => 'Y', 'created' => '2007-03-18 10:41:23', 'updated' => static::date()), 'Tag' => array(array('id' => '2', 'tag' => 'tag2', 'created' => '2007-03-18 12:24:23', 'updated' => '2007-03-18 12:26:31')));
     $this->assertEquals($expected, $result);
     $this->loadFixtures('Portfolio', 'Item', 'ItemsPortfolio');
     $TestModel = new Portfolio();
     $result = $TestModel->findById(2);
     $expected = array('Portfolio' => array('id' => 2, 'seller_id' => 1, 'name' => 'Portfolio 2'), 'Item' => array(array('id' => 2, 'syfile_id' => 2, 'published' => '', 'name' => 'Item 2', 'ItemsPortfolio' => array('id' => 2, 'item_id' => 2, 'portfolio_id' => 2)), array('id' => 6, 'syfile_id' => 6, 'published' => '', 'name' => 'Item 6', 'ItemsPortfolio' => array('id' => 6, 'item_id' => 6, 'portfolio_id' => 2))));
     $this->assertEquals($expected, $result);
     $data = array('Item' => array('Item' => array(1, 2)));
     $TestModel->id = 2;
     $result = $TestModel->save($data);
     $this->assertTrue((bool) $result);
     $result = $TestModel->findById(2);
     $result['Item'] = Hash::sort($result['Item'], '{n}.id', 'asc');
     $expected = array('Portfolio' => array('id' => 2, 'seller_id' => 1, 'name' => 'Portfolio 2'), 'Item' => array(array('id' => 1, 'syfile_id' => 1, 'published' => '', 'name' => 'Item 1', 'ItemsPortfolio' => array('id' => 7, 'item_id' => 1, 'portfolio_id' => 2)), array('id' => 2, 'syfile_id' => 2, 'published' => '', 'name' => 'Item 2', 'ItemsPortfolio' => array('id' => 8, 'item_id' => 2, 'portfolio_id' => 2))));
     $this->assertEquals($expected, $result);
 }
示例#3
0
 /**
  * undocumented function
  *
  * @return void
  */
 public function testBindModelCallsInBehaviors()
 {
     // hasMany
     $Boat = new Boat();
     $Boat->unbindModel(array('hasMany' => array('Comment')));
     $result = $Boat->find('first');
     $this->assertFalse(array_key_exists('Comment', $result));
     $Boat->Behaviors->load('Test4');
     $result = $Boat->find('first');
     $this->assertTrue(array_key_exists('Comment', $result));
     // belongsTo
     $Boat->unbindModel(array('belongsTo' => array('User')));
     $result = $Boat->find('first');
     $this->assertFalse(array_key_exists('User', $result));
     $Boat->Behaviors->load('Test5');
     $result = $Boat->find('first');
     $this->assertTrue(array_key_exists('User', $result));
     // hasAndBelongsToMany
     $Boat->unbindModel(array('hasAndBelongsToMany' => array('Tag')));
     $result = $Boat->find('first');
     $this->assertFalse(array_key_exists('Tag', $result));
     $Boat->Behaviors->load('Test6');
     $result = $Boat->find('first');
     $this->assertTrue(array_key_exists('Comment', $result));
     // hasOne
     $Comment = new Comment();
     $Comment->unbindModel(array('hasOne' => array('Attachment')));
     $result = $Comment->find('first');
     $this->assertFalse(array_key_exists('Attachment', $result));
     $Comment->Behaviors->load('Test7');
     $result = $Comment->find('first');
     $this->assertTrue(array_key_exists('Attachment', $result));
 }