fix tests

This commit is contained in:
Dennis Eichhorn 2023-09-23 13:41:56 +00:00
parent 397ea1e26b
commit 648070459a
5 changed files with 433 additions and 155 deletions

View File

@ -0,0 +1,220 @@
<?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\ContractManagement\tests\Controller\Api;
use phpOMS\Localization\ISO3166TwoEnum;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri;
trait ApiControllerAttributeTrait
{
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeTypeCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'EN:1');
$request->setData('name', 'test_name');
$request->setData('language', ISO639x1Enum::_EN);
$this->attrModule->apiContractAttributeTypeCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeTypeL11nCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'DE:2');
$request->setData('type', '1');
$request->setData('language', ISO639x1Enum::_DE);
$this->attrModule->apiContractAttributeTypeL11nCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeValueIntCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('default', '1');
$request->setData('type', '1');
$request->setData('value', '1');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiContractAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeValueStrCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('value', '1');
$request->setData('type', '1');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiContractAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeValueFloatCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('value', '1.1');
$request->setData('type', '1');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiContractAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeValueDatCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('value', '2020-08-02');
$request->setData('type', '1');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiContractAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('client', '1');
$request->setData('value', '1');
$request->setData('type', '1');
$this->attrModule->apiContractAttributeCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeValueCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiContractAttributeValueCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeTypeCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiContractAttributeTypeCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeTypeL11nCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiContractAttributeTypeL11nCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractAttributeCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiContractAttributeCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
}

View File

@ -0,0 +1,107 @@
<?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\ContractManagement\tests\Controller\Api;
use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri;
use phpOMS\Utils\TestUtils;
trait ApiControllerContractTrait
{
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Title');
$request->setData('start', '2010-10-09');
$request->setData('end', '2011-10-09');
$request->setData('duration', '2');
$request->setData('type', '1');
$this->module->apiContractCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiContractCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractDocCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
if (!\is_file(__DIR__ . '/test_tmp.pdf')) {
\copy(__DIR__ . '/test.pdf', __DIR__ . '/test_tmp.pdf');
}
$request->header->account = 1;
$request->setData('contract', 1);
$request->setData('contract_title', 'Test title');
TestUtils::setMember($request, 'files', [
'file1' => [
'name' => 'test.pdf',
'type' => 'pdf',
'tmp_name' => __DIR__ . '/test_tmp.pdf',
'error' => \UPLOAD_ERR_OK,
'size' => \filesize(__DIR__ . '/test_tmp.pdf'),
],
]);
$this->module->apiContractDocumentCreate($request, $response);
self::assertCount(1, $response->get('')['response']);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractDocCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiContractCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
}

View File

@ -0,0 +1,91 @@
<?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\ContractManagement\tests\Controller\Api;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri;
trait ApiControllerContractTypeTrait
{
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Test');
$request->setData('language', ISO639x1Enum::_EN);
$this->typeModule->apiContractTypeCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->typeModule->apiContractTypeCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeL11nCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Test');
$request->setData('type', '1');
$request->setData('language', ISO639x1Enum::_DE);
$this->typeModule->apiContractTypeL11nCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeL11nCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->typeModule->apiContractTypeL11nCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
}

View File

View File

@ -16,6 +16,9 @@ namespace Modules\ContractManagement\tests\Controller;
use Model\CoreSettings;
use Modules\Admin\Models\AccountPermission;
use Modules\ContractManagement\tests\Controller\Api\ApiControllerAttributeTrait;
use Modules\ContractManagement\tests\Controller\Api\ApiControllerContractTrait;
use Modules\ContractManagement\tests\Controller\Api\ApiControllerContractTypeTrait;
use phpOMS\Account\Account;
use phpOMS\Account\AccountManager;
use phpOMS\Account\PermissionType;
@ -23,15 +26,10 @@ use phpOMS\Application\ApplicationAbstract;
use phpOMS\DataStorage\Session\HttpSession;
use phpOMS\Dispatcher\Dispatcher;
use phpOMS\Event\EventManager;
use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Localization\L11nManager;
use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Module\ModuleAbstract;
use phpOMS\Module\ModuleManager;
use phpOMS\Router\WebRouter;
use phpOMS\Uri\HttpUri;
use phpOMS\Utils\TestUtils;
/**
@ -48,6 +46,10 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
*/
protected ModuleAbstract $module;
protected ModuleAbstract $attrModule;
protected ModuleAbstract $typeModule;
/**
* {@inheritdoc}
*/
@ -88,158 +90,16 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$this->app->accountManager->add($account);
$this->app->router = new WebRouter();
$this->module = $this->app->moduleManager->get('ContractManagement');
$this->module = $this->app->moduleManager->get('ContractManagement', 'Api');
$this->attrModule = $this->app->moduleManager->get('ContractManagement', 'ApiAttribute');
$this->typeModule = $this->app->moduleManager->get('ContractManagement', 'ApiContractType');
TestUtils::setMember($this->module, 'app', $this->app);
TestUtils::setMember($this->attrModule, 'app', $this->app);
TestUtils::setMember($this->typeModule, 'app', $this->app);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Test');
$request->setData('language', ISO639x1Enum::_EN);
$this->module->apiContractTypeCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiContractTypeCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeL11nCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Test');
$request->setData('type', '1');
$request->setData('language', ISO639x1Enum::_DE);
$this->module->apiContractTypeL11nCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractTypeL11nCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiContractTypeL11nCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Title');
$request->setData('start', '2010-10-09');
$request->setData('end', '2011-10-09');
$request->setData('duration', '2');
$request->setData('type', '1');
$this->module->apiContractCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiContractCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractDocCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
if (!\is_file(__DIR__ . '/test_tmp.pdf')) {
\copy(__DIR__ . '/test.pdf', __DIR__ . '/test_tmp.pdf');
}
$request->header->account = 1;
$request->setData('contract', 1);
$request->setData('contract_title', 'Test title');
TestUtils::setMember($request, 'files', [
'file1' => [
'name' => 'test.pdf',
'type' => 'pdf',
'tmp_name' => __DIR__ . '/test_tmp.pdf',
'error' => \UPLOAD_ERR_OK,
'size' => \filesize(__DIR__ . '/test_tmp.pdf'),
],
]);
$this->module->apiContractDocumentCreate($request, $response);
self::assertCount(1, $response->get('')['response']);
}
/**
* @covers Modules\ContractManagement\Controller\ApiController
* @group module
*/
public function testApiContractDocCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiContractCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
use ApiControllerAttributeTrait;
use ApiControllerContractTypeTrait;
use ApiControllerContractTrait;
}