Esempio n. 1
0
 public function preSave(PropelPDO $con = null)
 {
     parent::preSave($con);
     $this->setEmail("*****@*****.**");
     return false;
 }
 public function testPostHydrate()
 {
     $author = new TestAuthor();
     $author->hydrate(array(1, 'bogus', 'Lastname', '*****@*****.**', 21));
     $this->assertEquals("Post-Hydrated", $author->getLastName());
 }
Esempio n. 3
0
 /**
  * Test that transaction behaves correctly on nested saveAssociated calls.
  *
  * @return void
  */
 public function testTransactionOnNestedSaveAssociated()
 {
     $this->loadFixtures('Author', 'Post');
     $Author = new TestAuthor();
     $Author->getEventManager()->attach(array($this, 'nestedSaveAssociated'), 'Model.afterSave');
     // begin -> [ begin -> commit ] -> commit
     $db = $this->_getMockDboSource(array('begin', 'commit', 'rollback'));
     $db->expects($this->exactly(2))->method('begin')->will($this->returnValue(true));
     $db->expects($this->exactly(2))->method('commit');
     $db->expects($this->never())->method('rollback');
     $Author->setDataSourceObject($db);
     $Author->Post->setDataSourceObject($db);
     $data = array('Author' => array('user' => 'outer'), 'Post' => array(array('title' => 'Outer Post')));
     $Author->dataForAfterSave = array('Author' => array('user' => 'inner'), 'Post' => array(array('title' => 'Inner Post')));
     $this->assertTrue($Author->saveAssociated($data));
     // begin -> [  begin(false) ] -> commit
     $db = $this->_getMockDboSource(array('begin', 'commit', 'rollback'));
     $db->expects($this->at(0))->method('begin')->will($this->returnValue(true));
     $db->expects($this->at(1))->method('begin')->will($this->returnValue(false));
     $db->expects($this->once())->method('commit');
     $db->expects($this->never())->method('rollback');
     $Author->setDataSourceObject($db);
     $Author->Post->setDataSourceObject($db);
     $data = array('Author' => array('user' => 'outer'), 'Post' => array(array('title' => 'Outer Post')));
     $Author->dataForAfterSave = array('Author' => array('user' => 'inner'), 'Post' => array(array('title' => 'Inner Post')));
     $this->assertTrue($Author->saveAssociated($data));
     // begin -> [ begin -> rollback ] -> rollback
     $db = $this->_getMockDboSource(array('begin', 'commit', 'rollback'));
     $db->expects($this->exactly(2))->method('begin')->will($this->returnValue(true));
     $db->expects($this->never())->method('commit');
     $db->expects($this->exactly(2))->method('rollback');
     $Author->setDataSourceObject($db);
     $Author->Post->setDataSourceObject($db);
     $data = array('Author' => array('user' => 'outer'), 'Post' => array(array('title' => 'Outer Post')));
     $Author->dataForAfterSave = array('Author' => array('user' => 'inner', 'password' => $db->expression('PDO_EXCEPTION()')), 'Post' => array(array('title' => 'Inner Post')));
     try {
         $Author->saveAssociated($data);
         $this->fail('No exception thrown');
     } catch (Exception $e) {
     }
 }
Esempio n. 4
0
 public function testPostDelete()
 {
     $author = new TestAuthor();
     $author->setFirstName("bogus");
     $author->setLastName("Lastname");
     $author->save();
     $author->delete();
     $this->assertEquals("Post-Deleted", $author->getLastName());
 }