From 648070459a0facff01819883824e77c80fe14810 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 23 Sep 2023 13:41:56 +0000 Subject: [PATCH] fix tests --- .../Api/ApiControllerAttributeTrait.php | 220 ++++++++++++++++++ .../Api/ApiControllerContractTrait.php | 107 +++++++++ .../Api/ApiControllerContractTypeTrait.php | 91 ++++++++ tests/Controller/{ => Api}/test.pdf | 0 tests/Controller/ApiControllerTest.php | 170 ++------------ 5 files changed, 433 insertions(+), 155 deletions(-) create mode 100644 tests/Controller/Api/ApiControllerAttributeTrait.php create mode 100644 tests/Controller/Api/ApiControllerContractTrait.php create mode 100644 tests/Controller/Api/ApiControllerContractTypeTrait.php rename tests/Controller/{ => Api}/test.pdf (100%) mode change 100755 => 100644 diff --git a/tests/Controller/Api/ApiControllerAttributeTrait.php b/tests/Controller/Api/ApiControllerAttributeTrait.php new file mode 100644 index 0000000..8a82787 --- /dev/null +++ b/tests/Controller/Api/ApiControllerAttributeTrait.php @@ -0,0 +1,220 @@ +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); + } +} diff --git a/tests/Controller/Api/ApiControllerContractTrait.php b/tests/Controller/Api/ApiControllerContractTrait.php new file mode 100644 index 0000000..3996c65 --- /dev/null +++ b/tests/Controller/Api/ApiControllerContractTrait.php @@ -0,0 +1,107 @@ +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); + } +} diff --git a/tests/Controller/Api/ApiControllerContractTypeTrait.php b/tests/Controller/Api/ApiControllerContractTypeTrait.php new file mode 100644 index 0000000..a3cfcfb --- /dev/null +++ b/tests/Controller/Api/ApiControllerContractTypeTrait.php @@ -0,0 +1,91 @@ +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); + } +} diff --git a/tests/Controller/test.pdf b/tests/Controller/Api/test.pdf old mode 100755 new mode 100644 similarity index 100% rename from tests/Controller/test.pdf rename to tests/Controller/Api/test.pdf diff --git a/tests/Controller/ApiControllerTest.php b/tests/Controller/ApiControllerTest.php index c29ca3c..afe55fa 100755 --- a/tests/Controller/ApiControllerTest.php +++ b/tests/Controller/ApiControllerTest.php @@ -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; }