Rename Depository to Repository
This commit is contained in:
parent
b407fbedc1
commit
5d92713a8e
17 changed files with 84 additions and 85 deletions
136
tests/src/Profile/ProfileField/Repository/ProfileFieldTest.php
Normal file
136
tests/src/Profile/ProfileField/Repository/ProfileFieldTest.php
Normal file
|
@ -0,0 +1,136 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Test\src\Profile\ProfileField\Repository;
|
||||
|
||||
use Friendica\Profile\ProfileField\Collection\ProfileFields;
|
||||
use Friendica\Profile\ProfileField\Repository\ProfileField as ProfileFieldRepository;
|
||||
use Friendica\Profile\ProfileField\Exception\ProfileFieldPersistenceException;
|
||||
use Friendica\Profile\ProfileField\Factory\ProfileField as ProfileFieldFactory;
|
||||
use Friendica\Security\PermissionSet\Repository\PermissionSet;
|
||||
use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFactory;
|
||||
use Friendica\Security\PermissionSet\Repository\PermissionSet as PermissionSetRepository;
|
||||
use Friendica\Test\FixtureTest;
|
||||
use Friendica\DI;
|
||||
|
||||
class ProfileFieldTest extends FixtureTest
|
||||
{
|
||||
/** @var ProfileFieldRepository */
|
||||
private $depository;
|
||||
/** @var ProfileFieldFactory */
|
||||
private $factory;
|
||||
/** @var PermissionSetFactory */
|
||||
private $permissionSetFactory;
|
||||
/** @var PermissionSetRepository */
|
||||
private $permissionSetRepository;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->depository = DI::profileField();
|
||||
$this->factory = DI::profileFieldFactory();
|
||||
$this->permissionSetFactory = DI::permissionSetFactory();
|
||||
$this->permissionSetRepository = DI::permissionSet();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test create ProfileField without a valid PermissionSet
|
||||
*/
|
||||
public function testSavingWithoutPermissionSet()
|
||||
{
|
||||
self::expectExceptionMessage('PermissionSet needs to be saved first.');
|
||||
self::expectException(ProfileFieldPersistenceException::class);
|
||||
|
||||
$profileField = $this->factory->createFromValues(42, 0, 'public', 'value', $this->permissionSetFactory->createFromString(42, '', '<~>'));
|
||||
|
||||
self::assertEquals($profileField->uid, $profileField->permissionSet->uid);
|
||||
|
||||
$this->depository->save($profileField);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test saving a new entity
|
||||
*/
|
||||
public function testSaveNew()
|
||||
{
|
||||
$profileField = $this->factory->createFromValues(42, 0, 'public', 'value', $this->permissionSetRepository->save($this->permissionSetFactory->createFromString(42, '', '<~>')));
|
||||
|
||||
self::assertEquals($profileField->uid, $profileField->permissionSet->uid);
|
||||
|
||||
$savedProfileField = $this->depository->save($profileField);
|
||||
|
||||
self::assertNotNull($savedProfileField->id);
|
||||
self::assertNull($profileField->id);
|
||||
|
||||
$selectedProfileField = $this->depository->selectOneById($savedProfileField->id);
|
||||
|
||||
self::assertEquals($savedProfileField, $selectedProfileField);
|
||||
|
||||
$profileFields = new ProfileFields([$selectedProfileField]);
|
||||
$this->depository->deleteCollection($profileFields);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test updating the order of a ProfileField
|
||||
*/
|
||||
public function testUpdateOrder()
|
||||
{
|
||||
$profileField = $this->factory->createFromValues(42, 0, 'public', 'value', $this->permissionSetRepository->save($this->permissionSetFactory->createFromString(42, '', '<~>')));
|
||||
|
||||
self::assertEquals($profileField->uid, $profileField->permissionSet->uid);
|
||||
|
||||
$savedProfileField = $this->depository->save($profileField);
|
||||
|
||||
self::assertNotNull($savedProfileField->id);
|
||||
self::assertNull($profileField->id);
|
||||
|
||||
$selectedProfileField = $this->depository->selectOneById($savedProfileField->id);
|
||||
|
||||
self::assertEquals($savedProfileField, $selectedProfileField);
|
||||
|
||||
$selectedProfileField->setOrder(66);
|
||||
|
||||
$updatedOrderProfileField = $this->depository->save($selectedProfileField);
|
||||
|
||||
self::assertEquals($selectedProfileField->id, $updatedOrderProfileField->id);
|
||||
self::assertEquals(66, $updatedOrderProfileField->order);
|
||||
|
||||
// Even using the ID of the old, saved ProfileField returns the right instance
|
||||
$updatedFromOldProfileField = $this->depository->selectOneById($savedProfileField->id);
|
||||
self::assertEquals(66, $updatedFromOldProfileField->order);
|
||||
|
||||
$profileFields = new ProfileFields([$updatedFromOldProfileField]);
|
||||
$this->depository->deleteCollection($profileFields);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test updating a whole entity
|
||||
*/
|
||||
public function testUpdate()
|
||||
{
|
||||
$profileField = $this->factory->createFromValues(42, 0, 'public', 'value', $this->permissionSetRepository->save($this->permissionSetFactory->createFromString(42, '', '<~>')));
|
||||
|
||||
self::assertEquals($profileField->uid, $profileField->permissionSet->uid);
|
||||
|
||||
$savedProfileField = $this->depository->save($profileField);
|
||||
|
||||
self::assertNotNull($savedProfileField->id);
|
||||
self::assertNull($profileField->id);
|
||||
|
||||
$selectedProfileField = $this->depository->selectOneById($savedProfileField->id);
|
||||
|
||||
self::assertEquals($savedProfileField, $selectedProfileField);
|
||||
|
||||
$savedProfileField->update('another', 5, $this->permissionSetRepository->selectPublicForUser(42));
|
||||
self::assertEquals(PermissionSet::PUBLIC, $savedProfileField->permissionSet->id);
|
||||
|
||||
$publicProfileField = $this->depository->save($savedProfileField);
|
||||
|
||||
self::assertEquals($this->permissionSetRepository->selectPublicForUser(42), $publicProfileField->permissionSet);
|
||||
self::assertEquals('another', $publicProfileField->value);
|
||||
self::assertEquals(5, $publicProfileField->order);
|
||||
|
||||
$profileFields = new ProfileFields([$publicProfileField]);
|
||||
$this->depository->deleteCollection($profileFields);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue