Tests: Add phpunit tests

pull/3984/head
Julio 4 years ago
parent eae2c0cff3
commit 7dd8b77b67
  1. 6
      src/CoreBundle/Repository/AssetRepository.php
  2. 72
      tests/CoreBundle/Controller/AssetControllerTest.php

@ -143,6 +143,12 @@ class AssetRepository extends ServiceEntityRepository
return $asset;
}
public function update(Asset $asset): void
{
$this->getEntityManager()->persist($asset);
$this->getEntityManager()->flush();
}
public function delete(Asset $asset = null): void
{
if (null !== $asset) {

@ -16,11 +16,80 @@ class AssetControllerTest extends WebTestCase
{
use ChamiloTestTrait;
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 testCreateScormAsset(): void
{
$client = static::createClient();
$file = $this->getUploadedFile();
$assetRepo = self::getContainer()->get(AssetRepository::class);
$asset = (new Asset())
->setTitle('test')
->setCategory(Asset::SCORM)
->setFile($file)
;
$this->assertHasNoEntityViolations($asset);
$assetRepo->update($asset);
$url = $assetRepo->getAssetUrl($asset);
$client->request('GET', $url);
$this->assertResponseIsSuccessful();
}
public function testShowFile(): void
{
$client = static::createClient();
$file = $this->getUploadedFile();
/** @var AssetRepository $assetRepo */
$assetRepo = self::getContainer()->get(AssetRepository::class);
$em = $this->getEntityManager();
@ -34,7 +103,6 @@ class AssetControllerTest extends WebTestCase
$em->flush();
$url = $assetRepo->getAssetUrl($asset);
$client->request('GET', $url);
$this->assertResponseIsSuccessful();

Loading…
Cancel
Save