auto fixes + some impl.

This commit is contained in:
Dennis Eichhorn 2024-01-26 22:54:00 +00:00
parent 2f51284d29
commit 486dd41c9c
26 changed files with 210 additions and 453 deletions

View File

@ -18,7 +18,7 @@ use phpOMS\Account\PermissionType;
use phpOMS\Router\RouteVerb; use phpOMS\Router\RouteVerb;
return [ return [
'^.*/survey.*$' => [ '^.*/survey(\?.*$|$)' => [
[ [
'dest' => '\Modules\Surveys\Controller\BackendController:setUpBackend', 'dest' => '\Modules\Surveys\Controller\BackendController:setUpBackend',
'verb' => RouteVerb::GET, 'verb' => RouteVerb::GET,
@ -29,7 +29,7 @@ return [
], ],
], ],
], ],
'^.*/survey/list.*$' => [ '^.*/survey/list(\?.*$|$)' => [
[ [
'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysList', 'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysList',
'verb' => RouteVerb::GET, 'verb' => RouteVerb::GET,
@ -40,7 +40,7 @@ return [
], ],
], ],
], ],
'^.*/survey/create.*$' => [ '^.*/survey/create(\?.*$|$)' => [
[ [
'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysCreate', 'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysCreate',
'verb' => RouteVerb::GET, 'verb' => RouteVerb::GET,
@ -51,7 +51,7 @@ return [
], ],
], ],
], ],
'^.*/survey/edit.*$' => [ '^.*/survey/edit(\?.*$|$)' => [
[ [
'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysEdit', 'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysEdit',
'verb' => RouteVerb::GET, 'verb' => RouteVerb::GET,
@ -62,7 +62,7 @@ return [
], ],
], ],
], ],
'^.*/survey(\?.*|$)$' => [ '^.*/survey(\?.*$|$)' => [
[ [
'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysSurvey', 'dest' => '\Modules\Surveys\Controller\BackendController:viewSurveysSurvey',
'verb' => RouteVerb::GET, 'verb' => RouteVerb::GET,

View File

@ -26,9 +26,7 @@ use Modules\Surveys\Models\SurveyTemplateElementMapper;
use Modules\Surveys\Models\SurveyTemplateL11n; use Modules\Surveys\Models\SurveyTemplateL11n;
use Modules\Surveys\Models\SurveyTemplateLabelL11n; use Modules\Surveys\Models\SurveyTemplateLabelL11n;
use Modules\Surveys\Models\SurveyTemplateMapper; use Modules\Surveys\Models\SurveyTemplateMapper;
use Modules\Tag\Models\NullTag;
use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
@ -105,38 +103,20 @@ final class ApiController extends Controller
$template = new SurveyTemplate(); $template = new SurveyTemplate();
$template->start = $request->getDataDateTime('start'); $template->start = $request->getDataDateTime('start');
$template->end = $request->getDataDateTime('end'); $template->end = $request->getDataDateTime('end');
$template->status = $request->getDataInt('status') ?? SurveyStatus::ACTIVE; $template->status = SurveyStatus::tryFromValue($request->getDataInt('status')) ?? SurveyStatus::ACTIVE;
$template->createdBy = new NullAccount($request->header->account); $template->createdBy = new NullAccount($request->header->account);
$l11n = new SurveyTemplateL11n( $l11n = new SurveyTemplateL11n(
$request->getDataString('title') ?? '', $request->getDataString('title') ?? '',
Markdown::parse($request->getDataString('description') ?? ''), Markdown::parse($request->getDataString('description') ?? ''),
$request->getDataString('description') ?? '', $request->getDataString('description') ?? '',
$request->getDataString('language') ?? ISO639x1Enum::_EN ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
); );
$template->setL11n($l11n); $template->setL11n($l11n);
if (!empty($tags = $request->getDataJson('tags'))) { if ($request->hasData('tags')) {
foreach ($tags as $tag) { $template->tags = $this->app->moduleManager->get('Tag', 'Api')->createTagsFromRequest($request);
if (!isset($tag['id'])) {
$request->setData('title', $tag['title'], true);
$request->setData('color', $tag['color'], true);
$request->setData('icon', $tag['icon'] ?? null, true);
$request->setData('language', $tag['language'], true);
$internalResponse = new HttpResponse();
$this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse);
if (!\is_array($data = $internalResponse->getDataArray($request->uri->__toString()))) {
continue;
}
$template->addTag($data['response']);
} else {
$template->addTag(new NullTag((int) $tag['id']));
}
}
} }
if (!empty($uploadedFiles = $request->files)) { if (!empty($uploadedFiles = $request->files)) {
@ -150,13 +130,13 @@ final class ApiController extends Controller
); );
foreach ($uploaded as $media) { foreach ($uploaded as $media) {
$template->addMedia($media); $template->files[] = $media;
} }
} }
if (!empty($mediaFiles = $request->getDataJson('media'))) { if (!empty($mediaFiles = $request->getDataJson('media'))) {
foreach ($mediaFiles as $media) { foreach ($mediaFiles as $media) {
$template->addMedia(new NullMedia($media)); $template->files[] = new NullMedia($media);
} }
} }
@ -235,7 +215,7 @@ final class ApiController extends Controller
$request->getDataString('text') ?? '', $request->getDataString('text') ?? '',
Markdown::parse($request->getDataString('description') ?? ''), Markdown::parse($request->getDataString('description') ?? ''),
$request->getDataString('description') ?? '', $request->getDataString('description') ?? '',
$request->getDataString('language') ?? ISO639x1Enum::_EN ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
); );
$element->setL11n($l11n); $element->setL11n($l11n);
@ -244,7 +224,7 @@ final class ApiController extends Controller
foreach ($labels as $text) { foreach ($labels as $text) {
$label = new SurveyTemplateLabelL11n( $label = new SurveyTemplateLabelL11n(
$text, $text,
$request->getDataString('language') ?? ISO639x1Enum::_EN ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
); );
$element->addLabel($label); $element->addLabel($label);

View File

@ -131,7 +131,7 @@ final class BackendController extends Controller
->with('elements') ->with('elements')
->with('elements/l11n') ->with('elements/l11n')
->with('elements/labels') ->with('elements/labels')
->with('media') ->with('files')
->with('l11n') ->with('l11n')
->with('tags') ->with('tags')
->with('tags/title') ->with('tags/title')

View File

@ -31,25 +31,4 @@ final class SurveyAnswer
* @since 1.0.0 * @since 1.0.0
*/ */
public int $id = 0; public int $id = 0;
/**
* Constructor
*
* @since 1.0.0
*/
public function __construct()
{
}
/**
* Get id.
*
* @return int
*
* @since 1.0.0
*/
public function getId() : int
{
return $this->id;
}
} }

View File

@ -15,8 +15,6 @@ declare(strict_types=1);
namespace Modules\Surveys\Models; namespace Modules\Surveys\Models;
use Modules\Admin\Models\Account; use Modules\Admin\Models\Account;
use Modules\Media\Models\Media;
use Modules\Tag\Models\NullTag;
use Modules\Tag\Models\Tag; use Modules\Tag\Models\Tag;
use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\ISO639x1Enum;
@ -120,14 +118,6 @@ class SurveyTemplate
*/ */
public array $elements = []; public array $elements = [];
/**
* Media files
*
* @var Media[]
* @since 1.0.0
*/
public array $media = [];
/** /**
* Constructor. * Constructor.
* *
@ -138,18 +128,6 @@ class SurveyTemplate
$this->createdAt = new \DateTimeImmutable('now'); $this->createdAt = new \DateTimeImmutable('now');
} }
/**
* Get id.
*
* @return int
*
* @since 1.0.0
*/
public function getId() : int
{
return $this->id;
}
/** /**
* @return SurveyTemplateL11n * @return SurveyTemplateL11n
* *
@ -175,104 +153,6 @@ class SurveyTemplate
$this->l11n = $l11n; $this->l11n = $l11n;
} }
/**
* Get tags
*
* @return array
*
* @since 1.0.0
*/
public function getTags() : array
{
return $this->tags;
}
/**
* Get tag.
*
* @param int $id Element id
*
* @return Tag
*
* @since 1.0.0
*/
public function getTag(int $id) : Tag
{
return $this->tags[$id] ?? new NullTag();
}
/**
* Add tag
*
* @param Tag $tag Tag
*
* @return void
*
* @since 1.0.0
*/
public function addTag(Tag $tag) : void
{
$this->tags[] = $tag;
}
/**
* Remove Tag from list.
*
* @param int $id Tag
*
* @return bool
*
* @since 1.0.0
*/
public function removeTag($id) : bool
{
if (isset($this->tags[$id])) {
unset($this->tags[$id]);
return true;
}
return false;
}
/**
* Get all media
*
* @return Media[]
*
* @since 1.0.0
*/
public function getMedia() : array
{
return $this->media;
}
/**
* Add media
*
* @param Media $media Media to add
*
* @return void
*
* @since 1.0.0
*/
public function addMedia(Media $media) : void
{
$this->media[] = $media;
}
/**
* Get elements
*
* @return array
*
* @since 1.0.0
*/
public function getElements() : array
{
return $this->elements;
}
/** /**
* Add element * Add element
* *
@ -302,7 +182,7 @@ class SurveyTemplate
'virtualPath' => $this->virtualPath, 'virtualPath' => $this->virtualPath,
'tags' => $this->tags, 'tags' => $this->tags,
'elements' => $this->elements, 'elements' => $this->elements,
'media' => $this->media, 'media' => $this->files,
]; ];
} }
@ -313,4 +193,6 @@ class SurveyTemplate
{ {
return $this->toArray(); return $this->toArray();
} }
use \Modules\Media\Models\MediaListTrait;
} }

View File

@ -90,18 +90,6 @@ class SurveyTemplateElement
*/ */
public array $values = []; public array $values = [];
/**
* Get id.
*
* @return int
*
* @since 1.0.0
*/
public function getId() : int
{
return $this->id;
}
/** /**
* @return SurveyTemplateElementL11n * @return SurveyTemplateElementL11n
* *

View File

@ -76,7 +76,7 @@ final class SurveyTemplateMapper extends DataMapperFactory
'self' => 'survey_template_tag_dst', 'self' => 'survey_template_tag_dst',
'external' => 'survey_template_tag_src', 'external' => 'survey_template_tag_src',
], ],
'media' => [ 'files' => [
'mapper' => MediaMapper::class, 'mapper' => MediaMapper::class,
'table' => 'survey_template_media', 'table' => 'survey_template_media',
'external' => 'survey_template_media_dst', 'external' => 'survey_template_media_dst',

View File

@ -106,14 +106,14 @@ echo $this->data['nav']->render(); ?>
<div class="form-group"> <div class="form-group">
<label for="iSType"><?= $this->getHtml('Type'); ?></label> <label for="iSType"><?= $this->getHtml('Type'); ?></label>
<select id="iSType" name="stype"> <select id="iSType" name="stype">
<option value="<?= SurveyElementType::HEADLINE; ?>"><?= $this->getHtml('Headline') ?> <option value="<?= SurveyElementType::HEADLINE; ?>"><?= $this->getHtml('Headline'); ?>
<option value="<?= SurveyElementType::DROPDOWN; ?>"><?= $this->getHtml('Dropdown') ?> <option value="<?= SurveyElementType::DROPDOWN; ?>"><?= $this->getHtml('Dropdown'); ?>
<option value="<?= SurveyElementType::CHECKBOX; ?>"><?= $this->getHtml('Checkbox') ?> <option value="<?= SurveyElementType::CHECKBOX; ?>"><?= $this->getHtml('Checkbox'); ?>
<option value="<?= SurveyElementType::RADIO; ?>"><?= $this->getHtml('Radio') ?> <option value="<?= SurveyElementType::RADIO; ?>"><?= $this->getHtml('Radio'); ?>
<option value="<?= SurveyElementType::TEXTFIELD; ?>"><?= $this->getHtml('Textfield') ?> <option value="<?= SurveyElementType::TEXTFIELD; ?>"><?= $this->getHtml('Textfield'); ?>
<option value="<?= SurveyElementType::TEXTAREA; ?>"><?= $this->getHtml('Textarea') ?> <option value="<?= SurveyElementType::TEXTAREA; ?>"><?= $this->getHtml('Textarea'); ?>
<option value="<?= SurveyElementType::NUMERIC; ?>"><?= $this->getHtml('Numeric') ?> <option value="<?= SurveyElementType::NUMERIC; ?>"><?= $this->getHtml('Numeric'); ?>
<option value="<?= SurveyElementType::DATE; ?>"><?= $this->getHtml('Date') ?> <option value="<?= SurveyElementType::DATE; ?>"><?= $this->getHtml('Date'); ?>
</select> </select>
</div> </div>
</div> </div>
@ -136,8 +136,8 @@ echo $this->data['nav']->render(); ?>
<?php if (!empty($survey->getL11n()->description)) : ?> <?php if (!empty($survey->getL11n()->description)) : ?>
<article class="survey-description"><?= $survey->getL11n()->description; ?></article> <article class="survey-description"><?= $survey->getL11n()->description; ?></article>
<?php endif; ?> <?php endif; ?>
<?php $elements = $survey->getElements(); <?php
foreach ($elements as $element) { foreach ($survey->elements as $element) {
if ($element->type === SurveyElementType::HEADLINE) { if ($element->type === SurveyElementType::HEADLINE) {
echo '<h1>' . $this->printHtml($element->getL11n()->text) . '</h1>'; echo '<h1>' . $this->printHtml($element->getL11n()->text) . '</h1>';

View File

@ -109,7 +109,7 @@ echo $this->data['nav']->render(); ?>
<td> <td>
<td><a href="<?= $url; ?>"><?= $value->getL11n()->title; ?></a> <td><a href="<?= $url; ?>"><?= $value->getL11n()->title; ?></a>
<td> <td>
<td><a class="content" href="<?= UriFactory::build('{/base}/profile/single?{?}&for=' . $value->createdBy->id); ?>"><?= $this->printHtml($this->renderUserName('%3$s %2$s %1$s', [$value->createdBy->name1, $value->createdBy->name2, $value->createdBy->name3, $value->createdBy->login ?? ''])); ?></a> <td><a class="content" href="<?= UriFactory::build('{/base}/profile/view?{?}&for=' . $value->createdBy->id); ?>"><?= $this->printHtml($this->renderUserName('%3$s %2$s %1$s', [$value->createdBy->name1, $value->createdBy->name2, $value->createdBy->name3, $value->createdBy->login ?? ''])); ?></a>
<td><a href="<?= $url; ?>"><?= $value->createdAt->format('Y-m-d'); ?></a> <td><a href="<?= $url; ?>"><?= $value->createdAt->format('Y-m-d'); ?></a>
<?php endforeach; ?> <?php endforeach; ?>
<?php if ($count === 0) : ?> <?php if ($count === 0) : ?>

View File

@ -1,4 +1,15 @@
<?php <?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package Modules\Surveys\tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1); declare(strict_types=1);
\ini_set('memory_limit', '2048M'); \ini_set('memory_limit', '2048M');

View File

@ -32,7 +32,6 @@ use phpOMS\Module\ModuleAbstract;
use phpOMS\Module\ModuleManager; use phpOMS\Module\ModuleManager;
use phpOMS\Router\WebRouter; use phpOMS\Router\WebRouter;
use phpOMS\System\MimeType; use phpOMS\System\MimeType;
use phpOMS\Uri\HttpUri;
use phpOMS\Utils\TestUtils; use phpOMS\Utils\TestUtils;
/** /**
@ -101,7 +100,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
public function testApiSurveyTemplateCreate() : void public function testApiSurveyTemplateCreate() : void
{ {
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('title', 'TestSurvey'); $request->setData('title', 'TestSurvey');
@ -136,7 +135,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
public function testApiSurveyTemplateCreateInvalidData() : void public function testApiSurveyTemplateCreateInvalidData() : void
{ {
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('invalid', '1'); $request->setData('invalid', '1');
@ -152,7 +151,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
public function testApiSurveyTemplateElementCreate() : void public function testApiSurveyTemplateElementCreate() : void
{ {
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('survey', '1'); $request->setData('survey', '1');
@ -177,7 +176,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
public function testApiSurveyTemplateElementCreateInvalidData() : void public function testApiSurveyTemplateElementCreateInvalidData() : void
{ {
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('invalid', '1'); $request->setData('invalid', '1');
@ -193,7 +192,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
public function testApiSurveyAnswerCreate() : void public function testApiSurveyAnswerCreate() : void
{ {
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('survey', '1'); $request->setData('survey', '1');
@ -211,7 +210,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
public function testApiSurveyAnswerCreateInvalidData() : void public function testApiSurveyAnswerCreateInvalidData() : void
{ {
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('invalid', '1'); $request->setData('invalid', '1');

View File

@ -65,16 +65,6 @@ final class SurveyTemplateElementL11nTest extends \PHPUnit\Framework\TestCase
self::assertEquals('TestContent', $this->l11n->description); self::assertEquals('TestContent', $this->l11n->description);
} }
/**
* @covers Modules\Surveys\Models\SurveyTemplateElementL11n
* @group module
*/
public function testLanguageInputOutput() : void
{
$this->l11n->setLanguage(ISO639x1Enum::_DE);
self::assertEquals(ISO639x1Enum::_DE, $this->l11n->language);
}
/** /**
* @covers Modules\Surveys\Models\SurveyTemplateElementL11n * @covers Modules\Surveys\Models\SurveyTemplateElementL11n
* @group module * @group module
@ -85,7 +75,7 @@ final class SurveyTemplateElementL11nTest extends \PHPUnit\Framework\TestCase
$this->l11n->description = 'Content'; $this->l11n->description = 'Content';
$this->l11n->descriptionPlain = 'ContentPlain'; $this->l11n->descriptionPlain = 'ContentPlain';
$this->l11n->element = 2; $this->l11n->element = 2;
$this->l11n->setLanguage(ISO639x1Enum::_DE); $this->l11n->language = ISO639x1Enum::_DE;
self::assertEquals( self::assertEquals(
[ [

View File

@ -65,16 +65,6 @@ final class SurveyTemplateL11nTest extends \PHPUnit\Framework\TestCase
self::assertEquals('TestContent', $this->l11n->description); self::assertEquals('TestContent', $this->l11n->description);
} }
/**
* @covers Modules\Surveys\Models\SurveyTemplateL11n
* @group module
*/
public function testLanguageInputOutput() : void
{
$this->l11n->setLanguage(ISO639x1Enum::_DE);
self::assertEquals(ISO639x1Enum::_DE, $this->l11n->language);
}
/** /**
* @covers Modules\Surveys\Models\SurveyTemplateL11n * @covers Modules\Surveys\Models\SurveyTemplateL11n
* @group module * @group module
@ -85,7 +75,7 @@ final class SurveyTemplateL11nTest extends \PHPUnit\Framework\TestCase
$this->l11n->description = 'Content'; $this->l11n->description = 'Content';
$this->l11n->descriptionPlain = 'ContentPlain'; $this->l11n->descriptionPlain = 'ContentPlain';
$this->l11n->template = 2; $this->l11n->template = 2;
$this->l11n->setLanguage(ISO639x1Enum::_DE); $this->l11n->language = ISO639x1Enum::_DE;
self::assertEquals( self::assertEquals(
[ [

View File

@ -53,16 +53,6 @@ final class SurveyTemplateLabelL11nTest extends \PHPUnit\Framework\TestCase
self::assertEquals('TestName', $this->l11n->title); self::assertEquals('TestName', $this->l11n->title);
} }
/**
* @covers Modules\Surveys\Models\SurveyTemplateLabelL11n
* @group module
*/
public function testLanguageInputOutput() : void
{
$this->l11n->setLanguage(ISO639x1Enum::_DE);
self::assertEquals(ISO639x1Enum::_DE, $this->l11n->language);
}
/** /**
* @covers Modules\Surveys\Models\SurveyTemplateLabelL11n * @covers Modules\Surveys\Models\SurveyTemplateLabelL11n
* @group module * @group module
@ -72,7 +62,7 @@ final class SurveyTemplateLabelL11nTest extends \PHPUnit\Framework\TestCase
$this->l11n->title = 'Title'; $this->l11n->title = 'Title';
$this->l11n->element = 2; $this->l11n->element = 2;
$this->l11n->order = 3; $this->l11n->order = 3;
$this->l11n->setLanguage(ISO639x1Enum::_DE); $this->l11n->language = ISO639x1Enum::_DE;
self::assertEquals( self::assertEquals(
[ [

View File

@ -14,12 +14,9 @@ declare(strict_types=1);
namespace Modules\Surveys\tests\Models; namespace Modules\Surveys\tests\Models;
use Modules\Media\Models\Media;
use Modules\Surveys\Models\SurveyStatus; use Modules\Surveys\Models\SurveyStatus;
use Modules\Surveys\Models\SurveyTemplate; use Modules\Surveys\Models\SurveyTemplate;
use Modules\Surveys\Models\SurveyTemplateElement;
use Modules\Surveys\Models\SurveyTemplateL11n; use Modules\Surveys\Models\SurveyTemplateL11n;
use Modules\Tag\Models\Tag;
/** /**
* @internal * @internal
@ -45,58 +42,9 @@ final class SurveyTemplateTest extends \PHPUnit\Framework\TestCase
self::assertEquals(0, $this->survey->id); self::assertEquals(0, $this->survey->id);
$date = new \DateTime('now'); $date = new \DateTime('now');
self::assertEquals([], $this->survey->getElements()); self::assertEquals([], $this->survey->elements);
self::assertEquals([], $this->survey->getTags()); self::assertEquals([], $this->survey->tags);
self::assertEquals([], $this->survey->getMedia()); self::assertEquals([], $this->survey->files);
}
/**
* @covers Modules\Surveys\Models\SurveyTemplate
* @group module
*/
public function testTagInputOutput() : void
{
$tag = new Tag();
$tag->setL11n('Tag');
$this->survey->addTag($tag);
self::assertEquals($tag, $this->survey->getTag(0));
self::assertCount(1, $this->survey->getTags());
}
/**
* @covers Modules\Surveys\Models\SurveyTemplate
* @group module
*/
public function testTagRemove() : void
{
$tag = new Tag();
$tag->setL11n('Tag');
$this->survey->addTag($tag);
self::assertTrue($this->survey->removeTag(0));
self::assertCount(0, $this->survey->getTags());
self::assertFalse($this->survey->removeTag(0));
}
/**
* @covers Modules\Surveys\Models\SurveyTemplate
* @group module
*/
public function testMediaInputOutput() : void
{
$this->survey->addMedia(new Media());
self::assertCount(1, $this->survey->getMedia());
}
/**
* @covers Modules\Surveys\Models\SurveyTemplate
* @group module
*/
public function testElementInputOutput() : void
{
$this->survey->addElement(new SurveyTemplateElement());
self::assertCount(1, $this->survey->getElements());
} }
/** /**