oms-Support/tests/Controller/Api/ApiControllerTicketTrait.php
2022-02-19 13:57:39 +01:00

159 lines
4.6 KiB
PHP

<?php
/**
* Karaka
*
* PHP Version 8.0
*
* @package tests
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://karaka.app
*/
declare(strict_types=1);
namespace Modules\Support\tests\Controller\Api;
use Modules\Tasks\Models\TaskStatus;
use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Uri\HttpUri;
trait ApiControllerTicketTrait
{
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiSupportAppCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('name', 'TestSupportApp');
$this->module->apiSupportAppCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getId());
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiSupportAppCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiSupportAppCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiTicketCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('title', 'Test Ticket');
$request->setData('plain', 'Test **content** here.');
$request->setData('forward', '1');
$request->setData('for', '1');
$this->module->apiTicketCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getId());
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiTicketGet() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('id', '1');
$this->module->apiTicketGet($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getId());
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiTicketCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiTicketCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiTicketElementCreate() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('ticket', '1');
$request->setData('time', '10');
$request->setData('status', TaskStatus::WORKING);
$request->setData('due', (new \DateTime('now'))->format('Y-m-d H:i:s'));
$this->module->apiTicketElementCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getId());
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiTicketElementGet() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('id', '1');
$this->module->apiTicketElementGet($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getId());
}
/**
* @covers Modules\Support\Controller\ApiController
* @group module
*/
public function testApiTicketElementCreateInvalidData() : void
{
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('invalid', '1');
$this->module->apiTicketElementCreate($request, $response);
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
}