/**
  * testDel method
  *
  * @return void
  */
 public function testDelete()
 {
     $this->loadFixtures('Article', 'Comment', 'Attachment');
     $TestModel = new Article();
     $result = $TestModel->delete(2);
     $this->assertTrue($result);
     $result = $TestModel->read(null, 2);
     $this->assertFalse($result);
     $TestModel->recursive = -1;
     $result = $TestModel->find('all', array('fields' => array('id', 'title')));
     $expected = array(array('Article' => array('id' => 1, 'title' => 'First Article')), array('Article' => array('id' => 3, 'title' => 'Third Article')));
     $this->assertEquals($expected, $result);
     $result = $TestModel->delete(3);
     $this->assertTrue($result);
     $result = $TestModel->read(null, 3);
     $this->assertFalse($result);
     $TestModel->recursive = -1;
     $result = $TestModel->find('all', array('fields' => array('id', 'title')));
     $expected = array(array('Article' => array('id' => 1, 'title' => 'First Article')));
     $this->assertEquals($expected, $result);
     // make sure deleting a non-existent record doesn't break save()
     // ticket #6293
     $this->loadFixtures('Uuid');
     $Uuid = new Uuid();
     $data = array('B607DAB9-88A2-46CF-B57C-842CA9E3B3B3', '52C8865C-10EE-4302-AE6C-6E7D8E12E2C8', '8208C7FE-E89C-47C5-B378-DED6C271F9B8');
     foreach ($data as $id) {
         $Uuid->save(array('id' => $id));
     }
     $Uuid->delete('52C8865C-10EE-4302-AE6C-6E7D8E12E2C8');
     $Uuid->delete('52C8865C-10EE-4302-AE6C-6E7D8E12E2C8');
     foreach ($data as $id) {
         $Uuid->save(array('id' => $id));
     }
     $result = $Uuid->find('all', array('conditions' => array('id' => $data), 'fields' => array('id'), 'order' => 'id'));
     $expected = array(array('Uuid' => array('id' => '52C8865C-10EE-4302-AE6C-6E7D8E12E2C8')), array('Uuid' => array('id' => '8208C7FE-E89C-47C5-B378-DED6C271F9B8')), array('Uuid' => array('id' => 'B607DAB9-88A2-46CF-B57C-842CA9E3B3B3')));
     $this->assertEquals($expected, $result);
 }
 /**
  * Ensure that if the id key is null but present the save doesn't fail (with an
  * x sql error: "Column id specified twice")
  *
  * @return void
  */
 public function testSaveUuidNull()
 {
     // SQLite does not support non-integer primary keys
     $this->skipIf($this->db instanceof Sqlite, 'This test is not compatible with SQLite.');
     $this->loadFixtures('Uuid');
     $TestModel = new Uuid();
     $TestModel->save(array('title' => 'Test record', 'id' => null));
     $result = $TestModel->findByTitle('Test record');
     $this->assertEquals(array('id', 'title', 'count', 'created', 'updated'), array_keys($result['Uuid']));
     $this->assertEquals(36, strlen($result['Uuid']['id']));
 }
Beispiel #3
0
 /**
  * Ensure that if the id key is null but present the save doesn't fail (with an
  * x sql error: "Column id specified twice")
  *
  * @return void
  */
 public function testSaveUuidNull()
 {
     // SQLite does not support non-integer primary keys
     $this->skipIf($this->db->config['driver'] == 'sqlite');
     $this->loadFixtures('Uuid');
     $TestModel = new Uuid();
     $TestModel->save(array('title' => 'Test record', 'id' => null));
     $result = $TestModel->findByTitle('Test record');
     $this->assertEqual(array_keys($result['Uuid']), array('id', 'title', 'count', 'created', 'updated'));
     $this->assertEqual(strlen($result['Uuid']['id']), 36);
 }