mirror of
https://github.com/Karaka-Management/oms-Profile.git
synced 2026-02-10 12:58:40 +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
|
||||
*/
|
||||
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->tempPassword = \password_hash(\random_bytes(64), \PASSWORD_BCRYPT);
|
||||
|
|
@ -265,7 +265,7 @@ final class ApiController extends Controller
|
|||
$element = new ContactElement();
|
||||
$element->setType((int) ($request->getData('type') ?? 0));
|
||||
$element->setSubtype((int) ($request->getData('subtype') ?? 0));
|
||||
$element->setContent((string) ($request->getData('content') ?? ''));
|
||||
$element->content = (string) ($request->getData('content') ?? '');
|
||||
|
||||
return $element;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ namespace Modules\Profile\Models;
|
|||
/**
|
||||
* Contact element class.
|
||||
*
|
||||
* Information such as phone number, email, ...
|
||||
*
|
||||
* @package Modules\Profile\Models
|
||||
* @license OMS License 1.0
|
||||
* @link https://orange-management.org
|
||||
|
|
@ -54,7 +56,7 @@ class ContactElement
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private string $content = '';
|
||||
public string $content = '';
|
||||
|
||||
/**
|
||||
* Order.
|
||||
|
|
@ -62,7 +64,7 @@ class ContactElement
|
|||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private int $order = 0;
|
||||
public int $order = 0;
|
||||
|
||||
/**
|
||||
* Get id.
|
||||
|
|
@ -102,32 +104,6 @@ class ContactElement
|
|||
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
|
||||
*
|
||||
|
|
@ -153,30 +129,4 @@ class ContactElement
|
|||
{
|
||||
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 Modules\Admin\Models\AccountPermission;
|
||||
use Modules\Profile\Models\ContactType;
|
||||
use Modules\Profile\Models\Profile;
|
||||
use Modules\Profile\Models\ProfileMapper;
|
||||
use phpOMS\Account\Account;
|
||||
|
|
@ -32,15 +33,21 @@ use phpOMS\Router\WebRouter;
|
|||
use phpOMS\System\MimeType;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
use phpOMS\Utils\TestUtils;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Stdlib\Base\AddressType;
|
||||
use phpOMS\Localization\ISO3166TwoEnum;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
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}
|
||||
|
|
@ -117,7 +124,22 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
|||
$profile->account->login = 'ProfileCreateDb';
|
||||
$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(''));
|
||||
|
||||
$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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
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"?>
|
||||
<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">
|
||||
<exclude>
|
||||
<directory>*vendor*</directory>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user