From c553431a1da323a17fb4d25a9b0fd042b0f97c58 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 29 Sep 2023 20:48:38 +0000 Subject: [PATCH] fix tests --- Controller/ApiController.php | 25 ++++++++++++++----------- tests/Autoloader.php | 2 +- tests/Controller/ApiControllerTest.php | 1 + 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 871ae3c..4837993 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -408,8 +408,11 @@ final class ApiController extends Controller } // is allowed to create - if (!$this->app->accountManager->get($request->header->account)->hasPermission(PermissionType::CREATE, $this->app->unitId, null, self::NAME, PermissionCategory::TEMPLATE)) { + if (!$this->app->accountManager->get($request->header->account) + ->hasPermission(PermissionType::CREATE, $this->app->unitId, null, self::NAME, PermissionCategory::TEMPLATE) + ) { $response->header->status = RequestStatusCode::R_403; + $this->createInvalidCreateResponse($request, $response, []); return; } @@ -440,25 +443,25 @@ final class ApiController extends Controller } /** @var Collection $collection */ - $collection = $this->app->moduleManager->get('Media')->createMediaCollectionFromMedia( + $collection = $this->app->moduleManager->get('Media', 'Api')->createMediaCollectionFromMedia( $request->getDataString('name') ?? '', $request->getDataString('description') ?? '', $files, $request->header->account ); - if ($collection->id === 0) { + $collection->setPath('/Modules/Media/Files/Modules/Helper/' . ($request->getDataString('name') ?? '')); + $collection->setVirtualPath('/Modules/Helper'); + + $this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin()); + + if ($collection->id < 1) { $response->header->status = RequestStatusCode::R_403; $this->createInvalidCreateResponse($request, $response, $collection); return; } - $collection->setPath('/Modules/Media/Files/Modules/Helper/' . ($request->getDataString('name') ?? '')); - $collection->setVirtualPath('/Modules/Helper'); - - $this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin()); - $template = $this->createTemplateFromRequest($request, $collection->id); $this->app->moduleManager->get('Admin')->createAccountModelPermission( @@ -600,15 +603,15 @@ final class ApiController extends Controller $collection->setPath('/Modules/Media/Files/Modules/Helper/' . ($request->getDataString('name') ?? '')); $collection->setVirtualPath('/Modules/Helper'); - if ($collection->id === 0) { + $this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin()); + + if ($collection->id < 1) { $response->header->status = RequestStatusCode::R_403; $this->createInvalidCreateResponse($request, $response, $collection); return; } - $this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin()); - $report = $this->createReportFromRequest($request, $response, $collection->id); $this->app->moduleManager->get('Admin')->createAccountModelPermission( diff --git a/tests/Autoloader.php b/tests/Autoloader.php index 793802f..beda2a5 100755 --- a/tests/Autoloader.php +++ b/tests/Autoloader.php @@ -79,7 +79,7 @@ final class Autoloader $class = \strtr($class, '_\\', '//'); if (\stripos($class, 'Web/Backend') !== false || \stripos($class, 'Web/Api') !== false) { - $class = \str_replace('Web/', 'Install/Application/', $class); + $class = \is_dir(__DIR__ . '/Web') ? $class : \str_replace('Web/', 'Karaka/Web/', $class); } $class2 = $class; diff --git a/tests/Controller/ApiControllerTest.php b/tests/Controller/ApiControllerTest.php index ce73bb2..1de331f 100755 --- a/tests/Controller/ApiControllerTest.php +++ b/tests/Controller/ApiControllerTest.php @@ -60,6 +60,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase $this->app = new class() extends ApplicationAbstract { protected string $appName = 'Api'; + protected int $appId = 1; }; $this->app->dbPool = $GLOBALS['dbpool'];