getEntityManager(); $assetRepo = self::getContainer()->get(AssetRepository::class); $file = $this->getUploadedFile(); // Create asset. $asset = (new Asset()) ->setTitle('test') ->setCategory(Asset::WATERMARK) ->setFile($file) ; $this->assertHasNoEntityViolations($asset); $em->persist($asset); $em->flush(); // 1 asset $this->assertSame(1, $assetRepo->count([])); } public function testCreateWatermark(): void { $client = static::createClient(); $file = $this->getUploadedFile(); $assetRepo = self::getContainer()->get(AssetRepository::class); // Create asset. $asset = (new Asset()) ->setTitle('test') ->setCategory(Asset::WATERMARK) ->setCrop('100,100,100,100') ->setFile($file) ; $this->assertHasNoEntityViolations($asset); $assetRepo->update($asset); $folder = $assetRepo->getFolder($asset); $this->assertSame('/watermark/'.$asset->getFile()->getFilename().'/', $folder); $url = $assetRepo->getAssetUrl($asset); $client->request('GET', $url); $this->assertResponseIsSuccessful(); $asset = (new Asset()) ->setTitle('test2') ->setCategory(Asset::WATERMARK) ->setCrop('100,100,100,100') ; $assetRepo->createFromString($asset, 'text/html', 'hello'); $this->assertHasNoEntityViolations($asset); $asset = (new Asset()) ->setTitle('test3') ->setCategory(Asset::WATERMARK) ; $file = [ 'tmp_name' => $this->getUploadedFile()->getRealPath(), 'name' => $this->getUploadedFile()->getFilename(), 'type' => $this->getUploadedFile()->getMimeType(), 'size' => $this->getUploadedFile()->getSize(), 'error' => UPLOAD_ERR_OK, ]; $assetRepo->createFromRequest($asset, $file); $this->assertHasNoEntityViolations($asset); } public function testUnZipFile(): void { $client = static::createClient(); $assetRepo = self::getContainer()->get(AssetRepository::class); $this->assertSame(0, $assetRepo->count([])); $file = $this->getUploadedZipFile(); $asset = (new Asset()) ->setTitle('test') ->setCategory(Asset::SCORM) ->setFile($file) ->setCompressed(true) ; $assetRepo->update($asset); $this->assertHasNoEntityViolations($asset); $assetRepo->unZipFile($asset); $url = $assetRepo->getAssetUrl($asset); $client->request('GET', $url.'/logo.png'); $this->assertResponseIsSuccessful(); } public function testDelete(): void { self::bootKernel(); $assetRepo = self::getContainer()->get(AssetRepository::class); $file = $this->getUploadedFile(); // Create asset. $asset = (new Asset()) ->setTitle('test') ->setCategory(Asset::WATERMARK) ->setFile($file) ; $assetRepo->update($asset); $asset = $assetRepo->find($asset->getId()); $assetRepo->delete($asset); $this->assertSame(0, $assetRepo->count([])); } }