private function insertTestData() { $baseballTag = new \Documents\Tag('baseball'); $footballTag = new \Documents\Tag('football'); $blogPost = new \Documents\BlogPost(); $blogPost->name = 'Test 1'; $blogPost->addTag($baseballTag); $this->dm->persist($blogPost); $blogPost = new \Documents\BlogPost(); $blogPost->name = 'Test 2'; $blogPost->addTag($baseballTag); $this->dm->persist($blogPost); $blogPost = new \Documents\BlogPost(); $blogPost->name = 'Test 3'; $blogPost->addTag($footballTag); $this->dm->persist($blogPost); $blogPost = new \Documents\BlogPost(); $blogPost->name = 'Test 4'; $blogPost->addTag($baseballTag); $blogPost->addTag($footballTag); $this->dm->persist($blogPost); $this->dm->flush(); $this->dm->clear(); }
public function testManyToMany() { $baseballTag = new \Documents\Tag('baseball'); $blogPost = new \Documents\BlogPost(); $blogPost->name = 'Test'; $blogPost->addTag($baseballTag); $this->dm->persist($blogPost); $this->dm->flush(); $this->dm->clear(); $check = $this->dm->getDocumentCollection(get_class($blogPost))->findOne(); $this->assertEquals(1, count($check['tags'])); $check = $this->dm->getDocumentCollection('Documents\\Tag')->findOne(); $this->assertFalse(isset($check['blogPosts'])); $blogPost = $this->dm->createQueryBuilder('Documents\\BlogPost')->getQuery()->getSingleResult(); $this->assertEquals(1, count($blogPost->tags)); $this->dm->clear(); $tag = $this->dm->createQueryBuilder('Documents\\Tag')->getQuery()->getSingleResult(); $this->assertEquals('baseball', $tag->name); $this->assertEquals(1, $tag->blogPosts->count()); $this->assertEquals('Test', $tag->blogPosts[0]->name); }