This commit is contained in:
Yuri Kuznetsov
2024-08-16 19:54:09 +03:00
parent ee94408394
commit 2f6673f8d9
+22 -43
View File
@@ -30,12 +30,19 @@
namespace tests\unit\Espo\Core\Htmlizer;
use Espo\Core\Htmlizer\Htmlizer;
use Espo\Core\InjectableFactory;
use Espo\Core\Select\SelectBuilderFactory;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\File\Manager;
use Espo\Core\Utils\Language;
use Espo\Core\Utils\Log;
use Espo\Core\Utils\Metadata;
use Espo\Core\Utils\NumberUtil;
use Espo\Core\Utils\DateTime;
use Espo\Core\ORM\Entity;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
use PHPUnit\Framework\TestCase;
use stdClass;
@@ -43,7 +50,6 @@ use stdClass;
class HtmlizerTest extends TestCase
{
private ?Htmlizer $htmlizer;
private ?Manager $fileManager;
private ?DateTime $dateTime;
private ?NumberUtil $number;
private ?EntityManager $entityManager;
@@ -84,53 +90,26 @@ class HtmlizerTest extends TestCase
{
date_default_timezone_set('UTC');
$this->entityManager =
$this->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->getMock();
$obj = new stdClass();
$this->fileManager = $this->getMockBuilder(Manager::class)
->disableOriginalConstructor()
->getMock();
$this->fileManager
->expects($this->any())
->method('putContents')
->will($this->returnCallback(function($fileName, $contents) use ($obj) {
$obj->contents = $contents;
}));
$this->fileManager
->expects($this->any())
->method('getPhpContents')
->will(
$this->returnCallback(function () use ($obj) {
$obj->contents = str_replace('<?php ', '', $obj->contents);
$obj->contents = str_replace('?>', '', $obj->contents);
return eval($obj->contents . ';');
})
);
$this->fileManager
->expects($this->any())
->method('unlink');
$this->entityManager = $this->createMock(EntityManager::class);
$this->dateTime = new DateTime('MM/DD/YYYY', 'hh:mm A', 'Europe/Kiev');
$this->number = new NumberUtil('.', ',');
$this->htmlizer = new Htmlizer($this->fileManager, $this->dateTime, $this->number);
$this->htmlizer = new Htmlizer(
$this->dateTime,
$this->number,
$this->createMock(SelectBuilderFactory::class),
$this->createMock(User::class),
$this->entityManager,
$this->createMock(Metadata::class),
$this->createMock(Language::class),
$this->createMock(Config::class),
$this->createMock(Log::class),
$this->createMock(InjectableFactory::class)
);
}
protected function tearDown(): void
{
unset($this->htmlizer);
unset($this->fileManager);
unset($this->dateTime);
unset($this->number);
}
{}
public function testRender()
{
@@ -210,7 +189,7 @@ class HtmlizerTest extends TestCase
$template = "{{file name}}";
$entity->set('name', '1');
$html = $this->htmlizer->render($entity, $template);
$html = $this->htmlizer->render($entity, $template, skipInlineAttachmentHandling: true);
$this->assertEquals('?entryPoint=attachment&id=1', $html);
$template = "{{#ifEqual name '1'}}hello{{/ifEqual}}";