public function testCreateFileWithMongoGridFSFileObject() { $file = new \Doctrine\MongoDB\GridFSFile(__DIR__ . '/file.txt'); $image = new File(); $image->setName('Test'); $image->setFile($file); $profile = new Profile(); $profile->setFirstName('Jon'); $profile->setLastName('Wage'); $profile->setImage($image); $this->assertTrue($image->getFile()->isDirty()); $this->dm->persist($profile); $this->dm->flush(); $this->assertFalse($image->getFile()->isDirty()); $this->assertSame($file, $image->getFile()); $this->dm->clear(); $profile = $this->dm->createQueryBuilder('Documents\\Profile')->getQuery()->getSingleResult(); $image = $profile->getImage(); $this->assertInstanceOf('Doctrine\\MongoDB\\GridFSFile', $image->getFile()); $this->assertEquals('These are the bytes...', $image->getFile()->getBytes()); $image->getFile()->setFilename(__DIR__ . '/FilesTest.php'); $this->dm->flush(); $this->dm->clear(); $profile = $this->dm->createQueryBuilder('Documents\\Profile')->getQuery()->getSingleResult(); $image = $profile->getImage(); $this->assertEquals('Test', $image->getName()); $this->assertEquals(__DIR__ . '/FilesTest.php', $image->getFile()->getFilename()); $this->assertEquals(file_get_contents(__DIR__ . '/FilesTest.php'), $image->getFile()->getBytes()); $image->getFile()->setBytes('test'); $this->dm->flush(); $this->dm->clear(); $profile = $this->dm->createQueryBuilder('Documents\\Profile')->getQuery()->getSingleResult(); $image = $profile->getImage(); $this->assertEquals('test', $image->getFile()->getBytes()); }
public function testFiles() { $image = new File(); $image->setName('Test'); $image->setFile(__DIR__ . '/file.txt'); $profile = new Profile(); $profile->setFirstName('Jon'); $profile->setLastName('Wage'); $profile->setImage($image); $this->dm->persist($profile); $this->dm->flush(); $this->assertEquals('These are the bytes...', $image->getFile()->getBytes()); $image->setName('testing'); $this->dm->flush(); $this->dm->clear(); $image = $this->dm->find('Documents\\File', $image->getId()); $this->assertEquals('testing', $image->getName()); $this->assertEquals('These are the bytes...', $image->getFile()->getBytes()); }
public function testLazyLoadReference() { $user = new User(); $profile = new Profile(); $profile->setFirstName('Jonathan'); $profile->setLastName('Wage'); $user->setProfile($profile); $user->setUsername('jwage'); $this->dm->persist($user); $this->dm->flush(); $this->dm->clear(); $query = $this->dm->createQuery('Documents\\User')->where('id', $user->getId()); $user = $query->getSingleResult(); $profile = $user->getProfile(); $this->assertTrue($profile instanceof \Proxies\DocumentsProfileProxy); $profile->getFirstName(); $this->assertEquals('Jonathan', $profile->getFirstName()); $this->assertEquals('Wage', $profile->getLastName()); }