Esempio n. 1
0
 public function testFindBy()
 {
     try {
         $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book');
         $books = $c->findBy('Foo', 'Bar');
         $this->fail('findBy() throws an exception when called on an unknown column name');
     } catch (UnknownColumnException $e) {
         $this->assertTrue(true, 'findBy() throws an exception when called on an unknown column name');
     }
     $con = Propel::getServiceContainer()->getConnection(BookPeer::DATABASE_NAME);
     $c = new ModelCriteria('bookstore', 'Propel\\Tests\\Bookstore\\Book');
     $books = $c->findBy('Title', 'Don Juan', $con);
     $expectedSQL = "SELECT book.ID, book.TITLE, book.ISBN, book.PRICE, book.PUBLISHER_ID, book.AUTHOR_ID FROM `book` WHERE book.TITLE='Don Juan'";
     $this->assertEquals($expectedSQL, $con->getLastExecutedQuery(), 'findBy() adds simple column conditions');
     $this->assertTrue($books instanceof Collection, 'findBy() issues a find()');
     $this->assertEquals(1, count($books), 'findBy() adds simple column conditions');
     $book = $books->shift();
     $this->assertTrue($book instanceof Book, 'findBy() returns an array of Model objects by default');
     $this->assertEquals('Don Juan', $book->getTitle(), 'findBy() returns the model objects matching the query');
 }