public function testSetJoinConditionCriterion() { $con = Propel::getServiceContainer()->getConnection(BookPeer::DATABASE_NAME); $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book'); $c->join('Propel\\Tests\\Bookstore\\Book.Author', Criteria::INNER_JOIN); $criterion = $c->getNewCriterion(BookPeer::TITLE, BookPeer::TITLE . ' = ' . AuthorPeer::FIRST_NAME, Criteria::CUSTOM); $c->setJoinCondition('Author', $criterion); $books = BookPeer::doSelect($c, $con); $expectedSQL = "SELECT book.ID, book.TITLE, book.ISBN, book.PRICE, book.PUBLISHER_ID, book.AUTHOR_ID FROM `book` INNER JOIN `author` ON book.TITLE = author.FIRST_NAME"; $this->assertEquals($expectedSQL, $con->getLastExecutedQuery(), 'setJoinCondition() can override a previous join condition with a Criterion'); }