public function testLuceneIndexing() { $this->dm->getConfiguration()->addDesignDocument('lucene_users', 'Doctrine\\Tests\\ODM\\CouchDB\\Functional\\LuceneQueryDesignDoc', array()); $query = $this->dm->createLuceneQuery('lucene_users', 'by_name'); $response = $query->createDesignDocument(); $user1 = new \Doctrine\Tests\Models\CMS\CmsUser(); $user1->username = "******"; $user1->status = "active"; $user1->name = "Benjamin"; $user2 = new \Doctrine\Tests\Models\CMS\CmsUser(); $user2->username = "******"; $user2->status = "active"; $user2->name = "Lukas"; $this->dm->persist($user1); $this->dm->persist($user2); $this->dm->flush(); $query->setQuery("Lukas"); try { $result = $query->execute(); } catch (\Doctrine\CouchDB\HTTP\HTTPException $e) { if ($e->getCode() == 404) { $this->markTestSkipped("Lucene is not integrated"); } else { throw $e; } } $this->assertEquals(1, count($result)); foreach ($result as $user) { $this->assertEquals($user2->id, $user['id']); $this->assertEquals(1, $user['score']); } $query->setIncludeDocs(true)->setDocumentName('Doctrine\\Tests\\Models\\CMS\\CmsUser'); $result = $query->execute(); $this->assertSame($user2, $result[0]['doc']); }
public function testFindTypeValidation() { // hackish: forcing the class metadata to be loaded for those two classes so that the alias mapper finds them $this->dm->getRepository($this->type); $this->dm->getRepository($this->type . '2'); // -- $this->dm->getConfiguration()->setValidateDoctrineMetadata(false); $user = $this->dm->find($this->type . '2', '/functional/user'); $this->assertNotInstanceOf($this->type, $user); $this->dm->getConfiguration()->setValidateDoctrineMetadata(true); $this->setExpectedException('InvalidArgumentException'); $this->dm->find($this->type, '/functional/user'); }