mirror of
https://github.com/Karaka-Management/oms-Media.git
synced 2026-02-09 05:58:41 +00:00
add unit tests
This commit is contained in:
parent
005a269bc9
commit
9d61848c51
|
|
@ -644,7 +644,9 @@ final class ApiController extends Controller
|
|||
$view = new View($this->app->l11nManager, $request, $response);
|
||||
$view->setData('media', $media);
|
||||
|
||||
$response->endAllOutputBuffering(); // for large files
|
||||
if (!\headers_sent()) {
|
||||
$response->endAllOutputBuffering(); // for large files
|
||||
}
|
||||
|
||||
if (($type = $request->getData('type')) === null) {
|
||||
$view->setTemplate('/Modules/Media/Theme/Api/render');
|
||||
|
|
@ -652,7 +654,7 @@ final class ApiController extends Controller
|
|||
$head = new Head();
|
||||
$css = \file_get_contents(__DIR__ . '/../../../Web/Backend/css/backend-small.css');
|
||||
if ($css === false) {
|
||||
$css = '';
|
||||
$css = ''; // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
$css = \preg_replace('!\s+!', ' ', $css);
|
||||
|
|
@ -712,12 +714,11 @@ final class ApiController extends Controller
|
|||
case 'txt':
|
||||
case 'cfg':
|
||||
case 'log':
|
||||
$response->header->set('Content-Type', MimeType::M_TXT, true);
|
||||
break;
|
||||
case 'md':
|
||||
$response->header->set('Content-Type', MimeType::M_TXT, true);
|
||||
break;
|
||||
case 'csv':
|
||||
case 'json':
|
||||
$response->header->set('Content-Type', MimeType::M_CSV, true);
|
||||
break;
|
||||
case 'xls':
|
||||
|
|
@ -738,9 +739,6 @@ final class ApiController extends Controller
|
|||
case 'pptx':
|
||||
$response->header->set('Content-Type', MimeType::M_PPTX, true);
|
||||
break;
|
||||
case 'json':
|
||||
$response->header->set('Content-Type', MimeType::M_CSV, true);
|
||||
break;
|
||||
case 'jpg':
|
||||
case 'jpeg':
|
||||
$response->header->set('Content-Type', MimeType::M_JPG, true);
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@ class Collection extends Media implements \Iterator
|
|||
/**
|
||||
* Is collection.
|
||||
*
|
||||
* @var int
|
||||
* @var bool
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected int $collection = 1;
|
||||
protected bool $collection = true;
|
||||
|
||||
/**
|
||||
* Set sources.
|
||||
|
|
@ -108,20 +108,6 @@ class Collection extends Media implements \Iterator
|
|||
return new NullMedia();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setExtension(string $extension) : void
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setVersioned(bool $versioned) : void
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -160,10 +160,10 @@ class Media implements \JsonSerializable
|
|||
/**
|
||||
* Is collection.
|
||||
*
|
||||
* @var int
|
||||
* @var bool
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected int $collection = 0;
|
||||
protected bool $collection = false;
|
||||
|
||||
/**
|
||||
* Tags.
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ class MediaMapper extends DataMapperAbstract
|
|||
'media_password' => ['name' => 'media_password', 'type' => 'string', 'internal' => 'password'],
|
||||
'media_extension' => ['name' => 'media_extension', 'type' => 'string', 'internal' => 'extension'],
|
||||
'media_size' => ['name' => 'media_size', 'type' => 'int', 'internal' => 'size'],
|
||||
'media_collection' => ['name' => 'media_collection', 'type' => 'int', 'internal' => 'collection'],
|
||||
'media_collection' => ['name' => 'media_collection', 'type' => 'bool', 'internal' => 'collection'],
|
||||
'media_created_by' => ['name' => 'media_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
|
||||
'media_created_at' => ['name' => 'media_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ class MediaType implements \JsonSerializable, ArrayableInterface
|
|||
/**
|
||||
* Name.
|
||||
*
|
||||
* Name used for additional identification, doesn't have to be unique.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
@ -49,7 +51,19 @@ class MediaType implements \JsonSerializable, ArrayableInterface
|
|||
* @var string|MediaTypeL11n
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $title = '';
|
||||
protected $title;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param string $name Name
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function __construct(string $name = '')
|
||||
{
|
||||
$this->setL11n($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get id
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ declare(strict_types=1);
|
|||
namespace Modules\Media\tests\Controller\Api;
|
||||
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use Modules\Media\Models\Media;
|
||||
use Modules\Media\Models\PathSettings;
|
||||
use Modules\Media\Models\UploadStatus;
|
||||
use phpOMS\Message\Http\HttpRequest;
|
||||
|
|
@ -22,6 +23,7 @@ use phpOMS\Message\Http\HttpResponse;
|
|||
use phpOMS\System\File\Local\Directory;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
use phpOMS\Utils\TestUtils;
|
||||
use phpOMS\System\MimeType;
|
||||
|
||||
trait ApiControllerMediaTrait
|
||||
{
|
||||
|
|
@ -73,6 +75,7 @@ trait ApiControllerMediaTrait
|
|||
|
||||
$request->header->account = 1;
|
||||
$request->setData('name', 'Test Upload');
|
||||
$request->setData('tags', '[{"title": "TestTitle", "color": "#f0f", "language": "en"}, {"id": 1}]');
|
||||
|
||||
if (!\is_dir(__DIR__ . '/temp')) {
|
||||
\mkdir(__DIR__ . '/temp');
|
||||
|
|
@ -257,4 +260,334 @@ trait ApiControllerMediaTrait
|
|||
|
||||
Directory::delete(__DIR__ . '/../test');
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testCreateView() : void
|
||||
{
|
||||
$media = new Media();
|
||||
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('type', 'html');
|
||||
|
||||
$media->extension = 'xls';
|
||||
self::assertInstanceOf('\phpOMS\Views\View', $this->module->createView($media, $request, $response));
|
||||
|
||||
$media->extension = 'docx';
|
||||
self::assertInstanceOf('\phpOMS\Views\View', $this->module->createView($media, $request, $response));
|
||||
|
||||
$request->setData('type', null, true);
|
||||
self::assertInstanceOf('\phpOMS\Views\View', $this->module->createView($media, $request, $response));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportHTM() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'htm');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_HTML, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportPDF() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'pdf');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_PDF, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportC() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'c');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_TXT, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportTXT() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'txt');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_TXT, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportCSV() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'csv');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_CSV, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportXLS() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'xls');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_XLS, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportXLSX() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'xlsx');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_XLSX, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportDOC() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'doc');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_DOC, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportDOCX() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'docx');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_DOCX, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportPPT() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'ppt');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_PPT, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportPPTX() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'pptx');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_PPTX, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportJPG() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'jpg');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_JPG, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportGIF() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'gif');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_GIF, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportPNG() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'png');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_PNG, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportMP3() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'mp3');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_MP3, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportMP4() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'mp4');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_MP4, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportMPEG() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'mpeg');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_MPEG, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiMediaExportBIN() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', '1');
|
||||
$request->setData('type', 'exe');
|
||||
|
||||
$this->module->apiMediaExport($request, $response);
|
||||
self::assertEquals(MimeType::M_BIN, $response->header->get('Content-Type')[0]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ final class CollectionMapperTest extends \PHPUnit\Framework\TestCase
|
|||
$media->description = 'desc';
|
||||
$media->descriptionRaw = 'descRaw';
|
||||
$media->setPath('some/path');
|
||||
$media->setVirtualPath('/some/path');
|
||||
$media->size = 11;
|
||||
$media->name = 'Collection';
|
||||
$id = CollectionMapper::create($media);
|
||||
|
|
@ -51,5 +52,8 @@ final class CollectionMapperTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals($media->size, $mediaR->size);
|
||||
self::assertEquals($media->extension, $mediaR->extension);
|
||||
self::assertEquals($media->name, $mediaR->name);
|
||||
|
||||
self::assertGreaterThan(0, \count(CollectionMapper::getByVirtualPath('/some/path')));
|
||||
self::assertGreaterThan(0, \count(CollectionMapper::getCollectionsByPath('/', true)));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ final class CollectionTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertEquals(0, $this->media->size);
|
||||
self::assertFalse($this->media->isVersioned);
|
||||
self::assertEquals([], $this->media->getSources());
|
||||
self::assertInstanceOf('\Modules\Media\Models\NullMedia', $this->media->getSourceByName('invalid'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -121,7 +122,10 @@ final class CollectionTest extends \PHPUnit\Framework\TestCase
|
|||
public function testSourceInputOutput() : void
|
||||
{
|
||||
$this->media->setSources([$a = new NullMedia(1), $b = new NullMedia(2), $c = new NullMedia(3)]);
|
||||
|
||||
$b->name = 'test';
|
||||
self::assertEquals([$a, $b, $c], $this->media->getSources());
|
||||
self::assertEquals($b, $this->media->getSourceByName('test'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace Modules\Media\tests\Models;
|
|||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Media\Models\Media;
|
||||
use Modules\Tag\Models\Tag;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
|
|
@ -190,6 +191,35 @@ final class MediaTest extends \PHPUnit\Framework\TestCase
|
|||
self::assertFalse($this->media->comparePassword('test2'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\Media
|
||||
* @group module
|
||||
*/
|
||||
public function testTagInputOutput() : void
|
||||
{
|
||||
$tag = new Tag();
|
||||
$tag->setL11n('Tag');
|
||||
|
||||
$this->media->addTag($tag);
|
||||
self::assertEquals($tag, $this->media->getTag(0));
|
||||
self::assertCount(1, $this->media->getTags());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\Media
|
||||
* @group module
|
||||
*/
|
||||
public function testTagRemove() : void
|
||||
{
|
||||
$tag = new Tag();
|
||||
$tag->setL11n('Tag');
|
||||
|
||||
$this->media->addTag($tag);
|
||||
self::assertTrue($this->media->removeTag(0));
|
||||
self::assertCount(0, $this->media->getTags());
|
||||
self::assertFalse($this->media->removeTag(0));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\Media
|
||||
* @group module
|
||||
|
|
|
|||
87
tests/Models/MediaTypeL11nTest.php
Normal file
87
tests/Models/MediaTypeL11nTest.php
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 8.0
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Media\tests\Models;
|
||||
|
||||
use Modules\Media\Models\MediaTypeL11n;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class MediaTypeL11nTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
private MediaTypeL11n $l11n;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp() : void
|
||||
{
|
||||
$this->l11n = new MediaTypeL11n();
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaTypeL11n
|
||||
* @group module
|
||||
*/
|
||||
public function testDefault() : void
|
||||
{
|
||||
self::assertEquals(0, $this->l11n->getId());
|
||||
self::assertEquals('', $this->l11n->title);
|
||||
self::assertEquals(0, $this->l11n->type);
|
||||
self::assertEquals(ISO639x1Enum::_EN, $this->l11n->getLanguage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaTypeL11n
|
||||
* @group module
|
||||
*/
|
||||
public function testNameInputOutput() : void
|
||||
{
|
||||
$this->l11n->title = 'TestName';
|
||||
self::assertEquals('TestName', $this->l11n->title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaTypeL11n
|
||||
* @group module
|
||||
*/
|
||||
public function testLanguageInputOutput() : void
|
||||
{
|
||||
$this->l11n->setLanguage(ISO639x1Enum::_DE);
|
||||
self::assertEquals(ISO639x1Enum::_DE, $this->l11n->getLanguage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaTypeL11n
|
||||
* @group module
|
||||
*/
|
||||
public function testSerialize() : void
|
||||
{
|
||||
$this->l11n->title = 'Title';
|
||||
$this->l11n->type = 2;
|
||||
$this->l11n->setLanguage(ISO639x1Enum::_DE);
|
||||
|
||||
self::assertEquals(
|
||||
[
|
||||
'id' => 0,
|
||||
'title' => 'Title',
|
||||
'type' => 2,
|
||||
'language' => ISO639x1Enum::_DE,
|
||||
],
|
||||
$this->l11n->jsonSerialize()
|
||||
);
|
||||
}
|
||||
}
|
||||
77
tests/Models/MediaTypeTest.php
Normal file
77
tests/Models/MediaTypeTest.php
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 8.0
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Media\tests\Models;
|
||||
|
||||
use Modules\Media\Models\MediaType;
|
||||
use Modules\Media\Models\MediaTypeL11n;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class MediaTypeTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
private MediaType $type;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp() : void
|
||||
{
|
||||
$this->type = new MediaType();
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaType
|
||||
* @group module
|
||||
*/
|
||||
public function testDefault() : void
|
||||
{
|
||||
self::assertEquals(0, $this->type->getId());
|
||||
self::assertEquals('', $this->type->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaType
|
||||
* @group module
|
||||
*/
|
||||
public function testL11nInputOutput() : void
|
||||
{
|
||||
$this->type->setL11n('Test1');
|
||||
self::assertEquals('Test1', $this->type->getL11n());
|
||||
|
||||
$this->type->setL11n(new MediaTypeL11n('Test2'));
|
||||
self::assertEquals('Test2', $this->type->getL11n());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Models\MediaType
|
||||
* @group module
|
||||
*/
|
||||
public function testSerialize() : void
|
||||
{
|
||||
$this->type->name = 'Name';
|
||||
|
||||
$serialized = $this->type->jsonSerialize();
|
||||
unset($serialized['title']);
|
||||
|
||||
self::assertEquals(
|
||||
[
|
||||
'id' => 0,
|
||||
'name' => 'Name',
|
||||
],
|
||||
$serialized
|
||||
);
|
||||
}
|
||||
}
|
||||
BIN
tests/Views/Audio.mp3
Normal file
BIN
tests/Views/Audio.mp3
Normal file
Binary file not shown.
|
|
@ -234,4 +234,38 @@ final class MediaViewTest extends \PHPUnit\Framework\TestCase
|
|||
$method->invoke($this->view, $media, __DIR__ . '/test.md')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Views\MediaView
|
||||
* @group module
|
||||
*/
|
||||
public function testIsVideo() : void
|
||||
{
|
||||
$method = new \ReflectionMethod($this->view, 'isVideoFile');
|
||||
$method->setAccessible(true);
|
||||
|
||||
$media = new Media();
|
||||
$media->setPath(__DIR__ . '/Video.mp4');
|
||||
$media->isAbsolute = true;
|
||||
self::assertFalse(
|
||||
$method->invoke($this->view, $media)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Media\Views\MediaView
|
||||
* @group module
|
||||
*/
|
||||
public function testIsAudio() : void
|
||||
{
|
||||
$method = new \ReflectionMethod($this->view, 'isAudioFile');
|
||||
$method->setAccessible(true);
|
||||
|
||||
$media = new Media();
|
||||
$media->setPath(__DIR__ . '/Audio.mp4');
|
||||
$media->isAbsolute = true;
|
||||
self::assertFalse(
|
||||
$method->invoke($this->view, $media)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
BIN
tests/Views/Video.mp4
Normal file
BIN
tests/Views/Video.mp4
Normal file
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="Bootstrap.php" colors="true" stopOnError="true" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" beStrictAboutTestsThatDoNotTestAnything="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="Bootstrap.php" colors="true" columns="120" stopOnError="true" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" beStrictAboutTestsThatDoNotTestAnything="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
<coverage includeUncoveredFiles="true" processUncoveredFiles="false">
|
||||
<exclude>
|
||||
<directory>*vendor*</directory>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user