make id public, organigram impl. media password/encryption, settings bug fix, Money->FloatInt change, ...

This commit is contained in:
Dennis Eichhorn 2023-05-06 11:42:06 +00:00
parent b34e1cbd0f
commit 3b827ed5f9
21 changed files with 65 additions and 65 deletions

View File

@ -55,7 +55,7 @@ final class Installer extends InstallerAbstract
WikiAppMapper::create()->execute($app); WikiAppMapper::create()->execute($app);
$category = new WikiCategory(); $category = new WikiCategory();
$category->app = new NullWikiApp($app->getId()); $category->app = new NullWikiApp($app->id);
$category->setL11n('Default'); $category->setL11n('Default');
WikiCategoryMapper::create()->execute($category); WikiCategoryMapper::create()->execute($category);

View File

@ -124,21 +124,21 @@ final class ApiController extends Controller
foreach ($uploaded as $media) { foreach ($uploaded as $media) {
$this->createModelRelation( $this->createModelRelation(
$request->header->account, $request->header->account,
$doc->getId(), $doc->id,
$media->getId(), $media->id,
WikiDocMapper::class, WikiDocMapper::class,
'media', 'media',
'', '',
$request->getOrigin() $request->getOrigin()
); );
$accountPath = '/Accounts/' . $account->getId() . ' ' . $account->login $accountPath = '/Accounts/' . $account->id . ' ' . $account->login
. '/Knowledgebase/' . ($doc->category?->getId() ?? '0') . '/Knowledgebase/' . ($doc->category?->id ?? '0')
. '/' . $doc->getId(); . '/' . $doc->id;
$ref = new Reference(); $ref = new Reference();
$ref->name = $media->name; $ref->name = $media->name;
$ref->source = new NullMedia($media->getId()); $ref->source = new NullMedia($media->id);
$ref->createdBy = new NullAccount($request->header->account); $ref->createdBy = new NullAccount($request->header->account);
$ref->setVirtualPath($accountPath); $ref->setVirtualPath($accountPath);
@ -148,14 +148,14 @@ final class ApiController extends Controller
$collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection( $collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection(
$accountPath, $accountPath,
$request->header->account, $request->header->account,
__DIR__ . '/../../../Modules/Media/Files/Accounts/' . $account->getId() . '/Knowledgebase/' . ($doc->category?->getId() ?? '0') . '/' . $doc->getId() __DIR__ . '/../../../Modules/Media/Files/Accounts/' . $account->id . '/Knowledgebase/' . ($doc->category?->id ?? '0') . '/' . $doc->id
); );
} }
$this->createModelRelation( $this->createModelRelation(
$request->header->account, $request->header->account,
$collection->getId(), $collection->id,
$ref->getId(), $ref->id,
CollectionMapper::class, CollectionMapper::class,
'sources', 'sources',
'', '',
@ -172,8 +172,8 @@ final class ApiController extends Controller
$media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute(); $media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute();
$this->createModelRelation( $this->createModelRelation(
$request->header->account, $request->header->account,
$doc->getId(), $doc->id,
$media->getId(), $media->id,
WikiDocMapper::class, WikiDocMapper::class,
'media', 'media',
'', '',
@ -182,7 +182,7 @@ final class ApiController extends Controller
$ref = new Reference(); $ref = new Reference();
$ref->name = $media->name; $ref->name = $media->name;
$ref->source = new NullMedia($media->getId()); $ref->source = new NullMedia($media->id);
$ref->createdBy = new NullAccount($request->header->account); $ref->createdBy = new NullAccount($request->header->account);
$ref->setVirtualPath($path); $ref->setVirtualPath($path);
@ -198,8 +198,8 @@ final class ApiController extends Controller
$this->createModelRelation( $this->createModelRelation(
$request->header->account, $request->header->account,
$collection->getId(), $collection->id,
$ref->getId(), $ref->id,
CollectionMapper::class, CollectionMapper::class,
'sources', 'sources',
'', '',
@ -221,8 +221,8 @@ final class ApiController extends Controller
private function createWikiDir(WikiDoc $doc) : string private function createWikiDir(WikiDoc $doc) : string
{ {
return '/Modules/Knowledgebase/' return '/Modules/Knowledgebase/'
. ($doc->category?->getId() ?? '0') . '/' . ($doc->category?->id ?? '0') . '/'
. $doc->getId(); . $doc->id;
} }
/** /**

View File

@ -319,7 +319,7 @@ final class BackendController extends Controller
$accountId = $request->header->account; $accountId = $request->header->account;
if (!$this->app->accountManager->get($accountId)->hasPermission( if (!$this->app->accountManager->get($accountId)->hasPermission(
PermissionType::READ, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::WIKI, $document->getId()) PermissionType::READ, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::WIKI, $document->id)
) { ) {
$view->setTemplate('/Web/Backend/Error/403_inline'); $view->setTemplate('/Web/Backend/Error/403_inline');
$response->header->status = RequestStatusCode::R_403; $response->header->status = RequestStatusCode::R_403;
@ -340,7 +340,7 @@ final class BackendController extends Controller
$view->setData('categories', $categories); $view->setData('categories', $categories);
$view->setData('document', $document); $view->setData('document', $document);
$view->addData('editable', $this->app->accountManager->get($accountId)->hasPermission( $view->addData('editable', $this->app->accountManager->get($accountId)->hasPermission(
PermissionType::MODIFY, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::WIKI, $document->getId()) PermissionType::MODIFY, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::WIKI, $document->id)
); );
return $view; return $view;

View File

@ -30,7 +30,7 @@ class WikiApp implements \JsonSerializable
* @var int * @var int
* @since 1.0.0 * @since 1.0.0
*/ */
protected int $id = 0; public int $id = 0;
/** /**
* Unit * Unit

View File

@ -33,7 +33,7 @@ class WikiCategory implements \JsonSerializable
* @var int * @var int
* @since 1.0.0 * @since 1.0.0
*/ */
protected int $id = 0; public int $id = 0;
/** /**
* App id. * App id.

View File

@ -36,7 +36,7 @@ class WikiDoc implements \JsonSerializable
* @var int * @var int
* @since 1.0.0 * @since 1.0.0
*/ */
protected int $id = 0; public int $id = 0;
/** /**
* Version. * Version.
@ -70,7 +70,7 @@ class WikiDoc implements \JsonSerializable
* @var int * @var int
* @since 1.0.0 * @since 1.0.0
*/ */
private int $status = WikiStatus::ACTIVE; public int $status = WikiStatus::ACTIVE;
/** /**
* Document content. * Document content.
@ -102,7 +102,7 @@ class WikiDoc implements \JsonSerializable
* @var string * @var string
* @since 1.0.0 * @since 1.0.0
*/ */
private string $language = ISO639x1Enum::_EN; public string $language = ISO639x1Enum::_EN;
/** /**
* Tags. * Tags.

View File

@ -34,7 +34,7 @@ class WikiDocHistory implements \JsonSerializable
* @var int * @var int
* @since 1.0.0 * @since 1.0.0
*/ */
protected int $id = 0; public int $id = 0;
/** /**
* Article ID. * Article ID.
@ -98,7 +98,7 @@ class WikiDocHistory implements \JsonSerializable
* @var string * @var string
* @since 1.0.0 * @since 1.0.0
*/ */
private string $language = ISO639x1Enum::_EN; public string $language = ISO639x1Enum::_EN;
/** /**
* Constructor. * Constructor.
@ -123,7 +123,7 @@ class WikiDocHistory implements \JsonSerializable
public static function createFromDoc(WikiDoc $doc) : self public static function createFromDoc(WikiDoc $doc) : self
{ {
$hist = new self(); $hist = new self();
$hist->article = $doc->getId(); $hist->article = $doc->id;
$hist->createdBy = $doc->createdBy; $hist->createdBy = $doc->createdBy;
$hist->name = $doc->name; $hist->name = $doc->name;
$hist->doc = $doc->doc; $hist->doc = $doc->doc;

View File

@ -34,9 +34,9 @@ echo $this->getData('nav')->render();
<td><?= $this->getHtml('Parent'); ?> <td><?= $this->getHtml('Parent'); ?>
<tbody> <tbody>
<?php foreach ($categories as $key => $value) : <?php foreach ($categories as $key => $value) :
$url = UriFactory::build('{/base}/admin/account/settings?{?}&id=' . $value->getId()); ?> $url = UriFactory::build('{/base}/admin/account/settings?{?}&id=' . $value->id); ?>
<tr tabindex="0" data-href="<?= $url; ?>"> <tr tabindex="0" data-href="<?= $url; ?>">
<td data-label="<?= $this->getHtml('ID', '0', '0'); ?>"><a href="<?= $url; ?>"><?= $value->getId(); ?></a> <td data-label="<?= $this->getHtml('ID', '0', '0'); ?>"><a href="<?= $url; ?>"><?= $value->id; ?></a>
<td data-label="<?= $this->getHtml('Name'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->getL11n()); ?></a> <td data-label="<?= $this->getHtml('Name'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->getL11n()); ?></a>
<td data-label="<?= $this->getHtml('Parent'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->parent !== null ? $value->parent->getL11n() : ''); ?></a> <td data-label="<?= $this->getHtml('Parent'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->parent !== null ? $value->parent->getL11n() : ''); ?></a>
<?php endforeach; ?> <?php endforeach; ?>

View File

@ -29,7 +29,7 @@ echo $this->getData('nav')->render(); ?>
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-8 col-lg-9"> <div class="col-xs-12 col-md-8 col-lg-9">
<div class="row"> <div class="row">
<?php foreach ($documents as $doc) : $url = UriFactory::build('{/base}/wiki/doc/single?id=' . $doc->getId()); ?> <?php foreach ($documents as $doc) : $url = UriFactory::build('{/base}/wiki/doc/single?id=' . $doc->id); ?>
<div class="col-xs-12 plain-grid"> <div class="col-xs-12 plain-grid">
<div class="portlet"> <div class="portlet">
<div class="portlet-head"><a href="<?= $url; ?>"><?= $this->printHtml($doc->name); ?></a></div> <div class="portlet-head"><a href="<?= $url; ?>"><?= $this->printHtml($doc->name); ?></a></div>
@ -74,7 +74,7 @@ echo $this->getData('nav')->render(); ?>
<div class="portlet-body"> <div class="portlet-body">
<ul> <ul>
<?php foreach ($categories as $category) : ?> <?php foreach ($categories as $category) : ?>
<li><a href="<?= UriFactory::build('{/base}/wiki/doc/list?{?}&id=' . $category->getId()); ?>"><?= $this->printHtml($category->getL11n()); ?></a> <li><a href="<?= UriFactory::build('{/base}/wiki/doc/list?{?}&id=' . $category->id); ?>"><?= $this->printHtml($category->getL11n()); ?></a>
<?php endforeach; ?> <?php endforeach; ?>
</ul> </ul>
</div> </div>

View File

@ -18,7 +18,7 @@ use phpOMS\Uri\UriFactory;
/** @var \Modules\Knowledgebase\Models\WikiDoc $wiki */ /** @var \Modules\Knowledgebase\Models\WikiDoc $wiki */
$wiki = $this->getData('doc') ?? new NullWikiDoc(); $wiki = $this->getData('doc') ?? new NullWikiDoc();
$isNewDoc = $wiki instanceof NullWikiDoc; $isNewDoc = $wiki->id === 0;
$languages = \phpOMS\Localization\ISO639Enum::getConstants(); $languages = \phpOMS\Localization\ISO639Enum::getConstants();
/** @var \phpOMS\Views\View $this */ /** @var \phpOMS\Views\View $this */

View File

@ -50,12 +50,12 @@ echo $this->getData('nav')->render();
<?php endforeach; ?> <?php endforeach; ?>
<?php $files = $doc->getMedia(); foreach ($files as $file) : ?> <?php $files = $doc->getMedia(); foreach ($files as $file) : ?>
<span><a class="content" href="<?= UriFactory::build('{/base}/media/single?id=' . $file->getId());?>"><?= $file->name; ?></a></span> <span><a class="content" href="<?= UriFactory::build('{/base}/media/single?id=' . $file->id);?>"><?= $file->name; ?></a></span>
<?php endforeach; ?> <?php endforeach; ?>
</div> </div>
<?php if ($editable) : ?> <?php if ($editable) : ?>
<div class="col-xs-6 rightText"> <div class="col-xs-6 rightText">
<a tabindex="0" class="button" href="<?= \phpOMS\Uri\UriFactory::build('wiki/doc/edit?id=' . $doc->getId()); ?>"><?= $this->getHtml('Edit', '0', '0'); ?></a> <a tabindex="0" class="button" href="<?= \phpOMS\Uri\UriFactory::build('wiki/doc/edit?id=' . $doc->id); ?>"><?= $this->getHtml('Edit', '0', '0'); ?></a>
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>
@ -70,7 +70,7 @@ echo $this->getData('nav')->render();
<div class="portlet-body"> <div class="portlet-body">
<ul> <ul>
<?php foreach ($categories as $category) : ?> <?php foreach ($categories as $category) : ?>
<li><a href="<?= UriFactory::build('{/base}/wiki/doc/list?{?}&id=' . $category->getId()); ?>"><?= $this->printHtml($category->getL11n()); ?></a> <li><a href="<?= UriFactory::build('{/base}/wiki/doc/list?{?}&id=' . $category->id); ?>"><?= $this->printHtml($category->getL11n()); ?></a>
<?php endforeach; ?> <?php endforeach; ?>
</ul> </ul>
</div> </div>

View File

@ -107,7 +107,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$request->setData('name', 'Test App'); $request->setData('name', 'Test App');
$this->module->apiWikiAppCreate($request, $response); $this->module->apiWikiAppCreate($request, $response);
self::assertGreaterThan(0, $aId = $response->get('')['response']->getId()); self::assertGreaterThan(0, $aId = $response->get('')['response']->id);
//read //read
$response = new HttpResponse(); $response = new HttpResponse();
@ -162,7 +162,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$request->setData('name', 'Test Category'); $request->setData('name', 'Test Category');
$this->module->apiWikiCategoryCreate($request, $response); $this->module->apiWikiCategoryCreate($request, $response);
self::assertGreaterThan(0, $cId = $response->get('')['response']->getId()); self::assertGreaterThan(0, $cId = $response->get('')['response']->id);
//read //read
$response = new HttpResponse(); $response = new HttpResponse();
@ -216,7 +216,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$request->setData('name', 'New Test Category'); $request->setData('name', 'New Test Category');
$this->module->apiWikiCategoryL11nCreate($request, $response); $this->module->apiWikiCategoryL11nCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getId()); self::assertGreaterThan(0, $response->get('')['response']->id);
} }
/** /**
@ -267,7 +267,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$request->setData('media', \json_encode([1])); $request->setData('media', \json_encode([1]));
$this->module->apiWikiDocCreate($request, $response); $this->module->apiWikiDocCreate($request, $response);
self::assertGreaterThan(0, $cId = $response->get('')['response']->getId()); self::assertGreaterThan(0, $cId = $response->get('')['response']->id);
//read //read
$response = new HttpResponse(); $response = new HttpResponse();

View File

@ -37,6 +37,6 @@ final class NullWikiAppTest extends \PHPUnit\Framework\TestCase
public function testId() : void public function testId() : void
{ {
$null = new NullWikiApp(2); $null = new NullWikiApp(2);
self::assertEquals(2, $null->getId()); self::assertEquals(2, $null->id);
} }
} }

View File

@ -37,6 +37,6 @@ final class NullWikiCategoryTest extends \PHPUnit\Framework\TestCase
public function testId() : void public function testId() : void
{ {
$null = new NullWikiCategory(2); $null = new NullWikiCategory(2);
self::assertEquals(2, $null->getId()); self::assertEquals(2, $null->id);
} }
} }

View File

@ -37,6 +37,6 @@ final class NullWikiDocTest extends \PHPUnit\Framework\TestCase
public function testId() : void public function testId() : void
{ {
$null = new NullWikiDoc(2); $null = new NullWikiDoc(2);
self::assertEquals(2, $null->getId()); self::assertEquals(2, $null->id);
} }
} }

View File

@ -36,10 +36,10 @@ final class WikiAppMapperTest extends \PHPUnit\Framework\TestCase
$app->name = 'Test Category'; $app->name = 'Test Category';
$id = WikiAppMapper::create()->execute($app); $id = WikiAppMapper::create()->execute($app);
self::assertGreaterThan(0, $app->getId()); self::assertGreaterThan(0, $app->id);
self::assertEquals($id, $app->getId()); self::assertEquals($id, $app->id);
$appR = WikiAppMapper::get()->where('id', $app->getId())->execute(); $appR = WikiAppMapper::get()->where('id', $app->id)->execute();
self::assertEquals($app->name, $appR->name); self::assertEquals($app->name, $appR->name);
} }
} }

View File

@ -40,7 +40,7 @@ final class WikiAppTest extends \PHPUnit\Framework\TestCase
*/ */
public function testDefault() : void public function testDefault() : void
{ {
self::assertEquals(0, $this->app->getId()); self::assertEquals(0, $this->app->id);
self::assertEquals('', $this->app->name); self::assertEquals('', $this->app->name);
} }

View File

@ -47,10 +47,10 @@ final class WikiCategoryMapperTest extends \PHPUnit\Framework\TestCase
$this->category->setL11n('Test Category'); $this->category->setL11n('Test Category');
$id = WikiCategoryMapper::create()->execute($this->category); $id = WikiCategoryMapper::create()->execute($this->category);
self::assertGreaterThan(0, $this->category->getId()); self::assertGreaterThan(0, $this->category->id);
self::assertEquals($id, $this->category->getId()); self::assertEquals($id, $this->category->id);
$categoryR = WikiCategoryMapper::get()->with('name')->where('id', $this->category->getId())->where('name/language', ISO639x1Enum::_EN)->execute(); $categoryR = WikiCategoryMapper::get()->with('name')->where('id', $this->category->id)->where('name/language', ISO639x1Enum::_EN)->execute();
self::assertEquals($this->category->getL11n(), $categoryR->getL11n()); self::assertEquals($this->category->getL11n(), $categoryR->getL11n());
self::assertGreaterThan(0, \count(WikiCategoryMapper::getAll()->where('app', 1)->execute())); self::assertGreaterThan(0, \count(WikiCategoryMapper::getAll()->where('app', 1)->execute()));
@ -68,17 +68,17 @@ final class WikiCategoryMapperTest extends \PHPUnit\Framework\TestCase
$this->category->parent = new NullWikiCategory(1); $this->category->parent = new NullWikiCategory(1);
$id = WikiCategoryMapper::create()->execute($this->category); $id = WikiCategoryMapper::create()->execute($this->category);
self::assertGreaterThan(0, $this->category->getId()); self::assertGreaterThan(0, $this->category->id);
self::assertEquals($id, $this->category->getId()); self::assertEquals($id, $this->category->id);
$categoryR = WikiCategoryMapper::get() $categoryR = WikiCategoryMapper::get()
->with('name') ->with('name')
->where('id', $this->category->getId()) ->where('id', $this->category->id)
->where('name/language', ISO639x1Enum::_EN) ->where('name/language', ISO639x1Enum::_EN)
->execute(); ->execute();
self::assertEquals($this->category->getL11n(), $categoryR->getL11n()); self::assertEquals($this->category->getL11n(), $categoryR->getL11n());
self::assertEquals($this->category->parent->getId(), $categoryR->parent->getId()); self::assertEquals($this->category->parent->id, $categoryR->parent->id);
self::assertGreaterThan(0, self::assertGreaterThan(0,
\count( \count(

View File

@ -43,11 +43,11 @@ final class WikiCategoryTest extends \PHPUnit\Framework\TestCase
*/ */
public function testDefault() : void public function testDefault() : void
{ {
self::assertEquals(0, $this->category->getId()); self::assertEquals(0, $this->category->id);
self::assertEquals(0, $this->category->app->getId()); self::assertEquals(0, $this->category->app->id);
self::assertEquals('', $this->category->getL11n()); self::assertEquals('', $this->category->getL11n());
self::assertEquals('/', $this->category->virtualPath); self::assertEquals('/', $this->category->virtualPath);
self::assertEquals(0, $this->category->parent->getId()); self::assertEquals(0, $this->category->parent->id);
} }
/** /**
@ -58,7 +58,7 @@ final class WikiCategoryTest extends \PHPUnit\Framework\TestCase
public function testAppInputOutput() : void public function testAppInputOutput() : void
{ {
$this->category->app = new NullWikiApp(2); $this->category->app = new NullWikiApp(2);
self::assertEquals(2, $this->category->app->getId()); self::assertEquals(2, $this->category->app->id);
} }
/** /**
@ -94,7 +94,7 @@ final class WikiCategoryTest extends \PHPUnit\Framework\TestCase
public function testParentInputOutput() : void public function testParentInputOutput() : void
{ {
$this->category->parent = new NullWikiCategory(2); $this->category->parent = new NullWikiCategory(2);
self::assertEquals(2, $this->category->parent->getId()); self::assertEquals(2, $this->category->parent->id);
} }
/** /**

View File

@ -45,15 +45,15 @@ final class WikiDocMapperTest extends \PHPUnit\Framework\TestCase
$doc->createdBy = new NullAccount(1); $doc->createdBy = new NullAccount(1);
$id = WikiDocMapper::create()->execute($doc); $id = WikiDocMapper::create()->execute($doc);
self::assertGreaterThan(0, $doc->getId()); self::assertGreaterThan(0, $doc->id);
self::assertEquals($id, $doc->getId()); self::assertEquals($id, $doc->id);
$docR = WikiDocMapper::get()->where('id', $doc->getId())->execute(); $docR = WikiDocMapper::get()->where('id', $doc->id)->execute();
self::assertEquals($doc->name, $docR->name); self::assertEquals($doc->name, $docR->name);
self::assertEquals($doc->doc, $docR->doc); self::assertEquals($doc->doc, $docR->doc);
self::assertEquals($doc->getStatus(), $docR->getStatus()); self::assertEquals($doc->getStatus(), $docR->getStatus());
self::assertEquals($doc->getLanguage(), $docR->getLanguage()); self::assertEquals($doc->getLanguage(), $docR->getLanguage());
self::assertEquals($doc->category->getId(), $docR->category->getId()); self::assertEquals($doc->category->id, $docR->category->id);
self::assertGreaterThan(0, self::assertGreaterThan(0,
\count( \count(

View File

@ -46,7 +46,7 @@ final class WikiDocTest extends \PHPUnit\Framework\TestCase
*/ */
public function testDefault() : void public function testDefault() : void
{ {
self::assertEquals(0, $this->doc->getId()); self::assertEquals(0, $this->doc->id);
self::assertNull($this->doc->app); self::assertNull($this->doc->app);
self::assertEquals('', $this->doc->name); self::assertEquals('', $this->doc->name);
self::assertEquals('', $this->doc->doc); self::assertEquals('', $this->doc->doc);
@ -65,7 +65,7 @@ final class WikiDocTest extends \PHPUnit\Framework\TestCase
public function tesAppInputOutput() : void public function tesAppInputOutput() : void
{ {
$this->doc->app = new NullWikiApp(2); $this->doc->app = new NullWikiApp(2);
self::assertEquals(2, $this->doc->app->getId()); self::assertEquals(2, $this->doc->app->id);
} }
/** /**
@ -120,7 +120,7 @@ final class WikiDocTest extends \PHPUnit\Framework\TestCase
public function testCategoryInputOutput() : void public function testCategoryInputOutput() : void
{ {
$this->doc->category = new NullWikiCategory(3); $this->doc->category = new NullWikiCategory(3);
self::assertEquals(3, $this->doc->category->getId()); self::assertEquals(3, $this->doc->category->id);
} }
/** /**