oms-ItemManagement/tests/Controller/Api/ApiControllerAttributeTrait.php
Dennis Eichhorn 67c054e810 bug fixes
2024-10-11 19:17:40 +00:00

234 lines
7.7 KiB
PHP
Executable File

<?php
/**
* Jingga
*
* PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 2.2
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\ItemManagement\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;
trait ApiControllerAttributeTrait
{
public int $attrType = 0;
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeTypeCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('name', 'test_attribute');
$request->setData('title', 'EN:1');
$request->setData('repeatable', true);
$request->setData('language', ISO639x1Enum::_EN);
$this->attrModule->apiItemAttributeTypeCreate($request, $response);
self::assertGreaterThan(0, $this->attrType = $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeTypeL11nCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('content', 'DE:2');
$request->setData('ref', '1');
$request->setData('language', ISO639x1Enum::_DE);
$this->attrModule->apiItemAttributeTypeL11nCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeValueIntCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$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->apiItemAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeValueStrCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('type', '1');
$request->setData('value', '1');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiItemAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeValueFloatCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('type', '1');
$request->setData('value', '1.1');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiItemAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeValueDatCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('type', '1');
$request->setData('value', '2020-08-02');
$request->setData('language', ISO639x1Enum::_DE);
$request->setData('country', ISO3166TwoEnum::_DEU);
$this->attrModule->apiItemAttributeValueCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Depends('testApiItemAttributeTypeCreate')]
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('number', '123456');
$request->setData('info', 'Info text');
$this->module->apiItemCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('ref', '1');
$request->setData('value', '1');
$request->setData('type', $this->attrType);
$this->attrModule->apiItemAttributeCreate($request, $response);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeValueCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiItemAttributeValueCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeTypeCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiItemAttributeTypeCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeTypeL11nCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiItemAttributeTypeL11nCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers \Modules\ItemManagement\Controller\ApiController
*/
#[\PHPUnit\Framework\Attributes\Group('module')]
public function testApiItemAttributeCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('invalid', '1');
$this->attrModule->apiItemAttributeCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
}