コード例 #1
0
 /**
  * Test foreign key relationships based on references to unique cols but not PK.
  * @link       http://trac.propelorm.org/ticket/691
  */
 public function testUniqueFkRel()
 {
     BookstoreEmployeeAccountPeer::doDeleteAll();
     $employee = new BookstoreEmployee();
     $employee->setName("Johnny Walker");
     $acct = new BookstoreEmployeeAccount();
     $acct->setBookstoreEmployee($employee);
     $acct->setLogin("test-login");
     $acct->save();
     $acctId = $acct->getEmployeeId();
     $al = new AcctAuditLog();
     $al->setBookstoreEmployeeAccount($acct);
     $al->save();
     $alId = $al->getId();
     BookstoreEmployeePeer::clearInstancePool();
     BookstoreEmployeeAccountPeer::clearInstancePool();
     AcctAuditLogPeer::clearInstancePool();
     $al2 = AcctAuditLogPeer::retrieveByPK($alId);
     /* @var $al2 AcctAuditLog */
     $mapacct = $al2->getBookstoreEmployeeAccount();
     $lookupacct = BookstoreEmployeeAccountPeer::retrieveByPK($acctId);
     $logs = $lookupacct->getAcctAuditLogs();
     $this->assertTrue(count($logs) == 1, "Expected 1 audit log result.");
     $this->assertEquals($logs[0]->getId(), $al->getId(), "Expected returned audit log to match created audit log.");
 }
コード例 #2
0
 /**
  * Tests the use of default expressions and the reloadOnInsert and reloadOnUpdate attributes.
  *
  * @link       http://propel.phpdb.org/trac/ticket/378
  * @link       http://propel.phpdb.org/trac/ticket/555
  */
 public function testDefaultExpresions()
 {
     if (Propel::getDb(BookstoreEmployeePeer::DATABASE_NAME) instanceof DBSqlite) {
         $this->markTestSkipped("Cannot test default expressions with SQLite");
     }
     $b = new Bookstore();
     $b->setStoreName("Foo!");
     $b->save();
     $employee = new BookstoreEmployee();
     $employee->setName("Johnny Walker");
     $acct = new BookstoreEmployeeAccount();
     $acct->setBookstoreEmployee($employee);
     $acct->setLogin("test-login");
     $this->assertNull($acct->getCreated(), "Expected created column to be NULL.");
     $this->assertNull($acct->getAuthenticator(), "Expected authenticator column to be NULL.");
     $acct->save();
     $acct = BookstoreEmployeeAccountPeer::retrieveByPK($acct->getEmployeeId());
     $this->assertNotNull($acct->getAuthenticator(), "Expected a valid (non-NULL) authenticator column after save.");
     $this->assertEquals('Password', $acct->getAuthenticator(), "Expected authenticator='Password' after save.");
     $this->assertNotNull($acct->getCreated(), "Expected a valid date after retrieving saved object.");
     $now = new DateTime("now");
     $this->assertEquals($now->format("Y-m-d"), $acct->getCreated("Y-m-d"));
     $acct->setCreated($now);
     $this->assertEquals($now->format("Y-m-d"), $acct->getCreated("Y-m-d"));
     // Unfortunately we can't really test the conjunction of reloadOnInsert and reloadOnUpdate when using just
     // default values. (At least not in a cross-db way.)
 }