mirror of
https://github.com/Karaka-Management/oms-Profile.git
synced 2026-02-17 07:48:41 +00:00
add unit tests
This commit is contained in:
parent
ddc6f84d74
commit
fc1d2762c6
|
|
@ -102,7 +102,7 @@ final class ApiController extends Controller
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function apiProfileTempLoginCreate(Profile $profile, RequestAbstract $request, ResponseAbstract $response) : void
|
public function apiProfileTempLoginCreate(RequestAbstract $request, ResponseAbstract $response) : void
|
||||||
{
|
{
|
||||||
$account = AccountMapper::get($request->header->account);
|
$account = AccountMapper::get($request->header->account);
|
||||||
$account->tempPassword = \password_hash(\random_bytes(64), \PASSWORD_BCRYPT);
|
$account->tempPassword = \password_hash(\random_bytes(64), \PASSWORD_BCRYPT);
|
||||||
|
|
@ -265,7 +265,7 @@ final class ApiController extends Controller
|
||||||
$element = new ContactElement();
|
$element = new ContactElement();
|
||||||
$element->setType((int) ($request->getData('type') ?? 0));
|
$element->setType((int) ($request->getData('type') ?? 0));
|
||||||
$element->setSubtype((int) ($request->getData('subtype') ?? 0));
|
$element->setSubtype((int) ($request->getData('subtype') ?? 0));
|
||||||
$element->setContent((string) ($request->getData('content') ?? ''));
|
$element->content = (string) ($request->getData('content') ?? '');
|
||||||
|
|
||||||
return $element;
|
return $element;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ namespace Modules\Profile\Models;
|
||||||
/**
|
/**
|
||||||
* Contact element class.
|
* Contact element class.
|
||||||
*
|
*
|
||||||
|
* Information such as phone number, email, ...
|
||||||
|
*
|
||||||
* @package Modules\Profile\Models
|
* @package Modules\Profile\Models
|
||||||
* @license OMS License 1.0
|
* @license OMS License 1.0
|
||||||
* @link https://orange-management.org
|
* @link https://orange-management.org
|
||||||
|
|
@ -54,7 +56,7 @@ class ContactElement
|
||||||
* @var string
|
* @var string
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
private string $content = '';
|
public string $content = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Order.
|
* Order.
|
||||||
|
|
@ -62,7 +64,7 @@ class ContactElement
|
||||||
* @var int
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
private int $order = 0;
|
public int $order = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id.
|
* Get id.
|
||||||
|
|
@ -102,32 +104,6 @@ class ContactElement
|
||||||
return $this->type;
|
return $this->type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set order
|
|
||||||
*
|
|
||||||
* @param int $order Type
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public function setOrder(int $order) : void
|
|
||||||
{
|
|
||||||
$this->order = $order;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get order
|
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public function getOrder() : int
|
|
||||||
{
|
|
||||||
return $this->order;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set subtype
|
* Set subtype
|
||||||
*
|
*
|
||||||
|
|
@ -153,30 +129,4 @@ class ContactElement
|
||||||
{
|
{
|
||||||
return $this->subtype;
|
return $this->subtype;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get content
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public function getContent() : string
|
|
||||||
{
|
|
||||||
return $this->content;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set content
|
|
||||||
*
|
|
||||||
* @param string $content Content
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public function setContent(string $content) : void
|
|
||||||
{
|
|
||||||
$this->content = $content;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ namespace Modules\Profile\tests\Controller;
|
||||||
|
|
||||||
use Model\CoreSettings;
|
use Model\CoreSettings;
|
||||||
use Modules\Admin\Models\AccountPermission;
|
use Modules\Admin\Models\AccountPermission;
|
||||||
|
use Modules\Profile\Models\ContactType;
|
||||||
use Modules\Profile\Models\Profile;
|
use Modules\Profile\Models\Profile;
|
||||||
use Modules\Profile\Models\ProfileMapper;
|
use Modules\Profile\Models\ProfileMapper;
|
||||||
use phpOMS\Account\Account;
|
use phpOMS\Account\Account;
|
||||||
|
|
@ -32,15 +33,21 @@ use phpOMS\Router\WebRouter;
|
||||||
use phpOMS\System\MimeType;
|
use phpOMS\System\MimeType;
|
||||||
use phpOMS\Uri\HttpUri;
|
use phpOMS\Uri\HttpUri;
|
||||||
use phpOMS\Utils\TestUtils;
|
use phpOMS\Utils\TestUtils;
|
||||||
|
use phpOMS\Module\ModuleAbstract;
|
||||||
|
use phpOMS\Stdlib\Base\AddressType;
|
||||||
|
use phpOMS\Localization\ISO3166TwoEnum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
*/
|
*/
|
||||||
final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
||||||
{
|
{
|
||||||
protected $app = null;
|
protected ApplicationAbstract $app;
|
||||||
|
|
||||||
protected $module = null;
|
/**
|
||||||
|
* @var \Modules\Profile\Controller\ApiController
|
||||||
|
*/
|
||||||
|
protected ModuleAbstract $module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
|
|
@ -117,7 +124,22 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
||||||
$profile->account->login = 'ProfileCreateDb';
|
$profile->account->login = 'ProfileCreateDb';
|
||||||
$profile->account->setEmail('profile_create_db@email.com');
|
$profile->account->setEmail('profile_create_db@email.com');
|
||||||
|
|
||||||
$this->module->apiProfileCreateDbEntry($profile, $request);
|
self::assertTrue($this->module->apiProfileCreateDbEntry($profile, $request));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Controller\ApiController
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testApiProfileTempLoginCreate() : void
|
||||||
|
{
|
||||||
|
$response = new HttpResponse();
|
||||||
|
$request = new HttpRequest(new HttpUri(''));
|
||||||
|
|
||||||
|
$request->header->account = 1;
|
||||||
|
|
||||||
|
$this->module->apiProfileTempLoginCreate($request, $response);
|
||||||
|
self::assertGreaterThan(31, \strlen($response->get('')['response']));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -160,7 +182,77 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
||||||
$request = new HttpRequest(new HttpUri(''));
|
$request = new HttpRequest(new HttpUri(''));
|
||||||
|
|
||||||
$this->module->apiSettingsAccountImageSet($request, $response);
|
$this->module->apiSettingsAccountImageSet($request, $response);
|
||||||
|
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Controller\ApiController
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testApiContactElementCreate() : void
|
||||||
|
{
|
||||||
|
$response = new HttpResponse();
|
||||||
|
$request = new HttpRequest(new HttpUri(''));
|
||||||
|
|
||||||
|
$request->header->account = 1;
|
||||||
|
$request->setData('account', '1');
|
||||||
|
$request->setData('type', ContactType::PHONE);
|
||||||
|
$request->setData('content', '+0123-456-789');
|
||||||
|
|
||||||
|
$this->module->apiContactElementCreate($request, $response);
|
||||||
|
self::assertGreaterThan(0, $response->get('')['response']->getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Controller\ApiController
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testApiContactElementCreateInvalidData() : void
|
||||||
|
{
|
||||||
|
$response = new HttpResponse();
|
||||||
|
$request = new HttpRequest(new HttpUri(''));
|
||||||
|
|
||||||
|
$request->header->account = 1;
|
||||||
|
$request->setData('invalid', '1');
|
||||||
|
|
||||||
|
$this->module->apiContactElementCreate($request, $response);
|
||||||
|
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Controller\ApiController
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testApiAddressCreate() : void
|
||||||
|
{
|
||||||
|
$response = new HttpResponse();
|
||||||
|
$request = new HttpRequest(new HttpUri(''));
|
||||||
|
|
||||||
|
$request->header->account = 1;
|
||||||
|
$request->setData('account', '1');
|
||||||
|
$request->setData('type', AddressType::BUSINESS);
|
||||||
|
$request->setData('name', 'Test Addr.');
|
||||||
|
$request->setData('address', 'Address here');
|
||||||
|
$request->setData('postal', '123456');
|
||||||
|
$request->setData('City', 'TestCity');
|
||||||
|
$request->setData('Country', ISO3166TwoEnum::_USA);
|
||||||
|
|
||||||
|
$this->module->apiAddressCreate($request, $response);
|
||||||
|
self::assertGreaterThan(0, $response->get('')['response']->getId());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Controller\ApiController
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testApiAddressCreateInvalidData() : void
|
||||||
|
{
|
||||||
|
$response = new HttpResponse();
|
||||||
|
$request = new HttpRequest(new HttpUri(''));
|
||||||
|
|
||||||
|
$request->header->account = 1;
|
||||||
|
$request->setData('invalid', '1');
|
||||||
|
|
||||||
|
$this->module->apiAddressCreate($request, $response);
|
||||||
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
|
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
64
tests/Models/ContactElementTest.php
Normal file
64
tests/Models/ContactElementTest.php
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Orange Management
|
||||||
|
*
|
||||||
|
* PHP Version 8.0
|
||||||
|
*
|
||||||
|
* @package tests
|
||||||
|
* @copyright 2013 Dennis Eichhorn
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link https://orange-management.org
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Modules\Profile\tests\Models;
|
||||||
|
|
||||||
|
use Modules\Profile\Models\ContactElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @internal
|
||||||
|
*/
|
||||||
|
final class ContactElementTest extends \PHPUnit\Framework\TestCase
|
||||||
|
{
|
||||||
|
private ContactElement $contact;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function setUp() : void
|
||||||
|
{
|
||||||
|
$this->contact = new ContactElement();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Models\ContactElement
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testDefault() : void
|
||||||
|
{
|
||||||
|
self::assertEquals(0, $this->contact->getId());
|
||||||
|
self::assertEquals('', $this->contact->content);
|
||||||
|
self::assertEquals(0, $this->contact->order);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Models\ContactElement
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testTypeInputOutput() : void
|
||||||
|
{
|
||||||
|
$this->contact->setType(3);
|
||||||
|
self::assertEquals(3, $this->contact->getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Models\ContactElement
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testSubtypeInputOutput() : void
|
||||||
|
{
|
||||||
|
$this->contact->setSubtype(3);
|
||||||
|
self::assertEquals(3, $this->contact->getSubtype());
|
||||||
|
}
|
||||||
|
}
|
||||||
50
tests/Models/ContactTest.php
Normal file
50
tests/Models/ContactTest.php
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Orange Management
|
||||||
|
*
|
||||||
|
* PHP Version 8.0
|
||||||
|
*
|
||||||
|
* @package tests
|
||||||
|
* @copyright 2013 Dennis Eichhorn
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link https://orange-management.org
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Modules\Profile\tests\Models;
|
||||||
|
|
||||||
|
use Modules\Profile\Models\Contact;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @internal
|
||||||
|
*/
|
||||||
|
final class ContactTest extends \PHPUnit\Framework\TestCase
|
||||||
|
{
|
||||||
|
private Contact $contact;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function setUp() : void
|
||||||
|
{
|
||||||
|
$this->contact = new Contact();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers Modules\Profile\Models\Contact
|
||||||
|
* @group module
|
||||||
|
*/
|
||||||
|
public function testDefault() : void
|
||||||
|
{
|
||||||
|
self::assertEquals(0, $this->contact->getId());
|
||||||
|
self::assertEquals('', $this->contact->name1);
|
||||||
|
self::assertEquals('', $this->contact->name2);
|
||||||
|
self::assertEquals('', $this->contact->name3);
|
||||||
|
self::assertEquals('', $this->contact->description);
|
||||||
|
self::assertEquals('', $this->contact->company);
|
||||||
|
self::assertEquals('', $this->contact->job);
|
||||||
|
self::assertEquals(null, $this->contact->birthday);
|
||||||
|
self::assertInstanceOf('\Modules\Media\Models\Media', $this->contact->image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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">
|
<coverage includeUncoveredFiles="true" processUncoveredFiles="false">
|
||||||
<exclude>
|
<exclude>
|
||||||
<directory>*vendor*</directory>
|
<directory>*vendor*</directory>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user