fix tests

This commit is contained in:
Dennis Eichhorn 2023-09-29 20:48:38 +00:00
parent 50c72a3324
commit c553431a1d
3 changed files with 16 additions and 12 deletions

View File

@ -408,8 +408,11 @@ final class ApiController extends Controller
} }
// is allowed to create // 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; $response->header->status = RequestStatusCode::R_403;
$this->createInvalidCreateResponse($request, $response, []);
return; return;
} }
@ -440,25 +443,25 @@ final class ApiController extends Controller
} }
/** @var Collection $collection */ /** @var Collection $collection */
$collection = $this->app->moduleManager->get('Media')->createMediaCollectionFromMedia( $collection = $this->app->moduleManager->get('Media', 'Api')->createMediaCollectionFromMedia(
$request->getDataString('name') ?? '', $request->getDataString('name') ?? '',
$request->getDataString('description') ?? '', $request->getDataString('description') ?? '',
$files, $files,
$request->header->account $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; $response->header->status = RequestStatusCode::R_403;
$this->createInvalidCreateResponse($request, $response, $collection); $this->createInvalidCreateResponse($request, $response, $collection);
return; 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); $template = $this->createTemplateFromRequest($request, $collection->id);
$this->app->moduleManager->get('Admin')->createAccountModelPermission( $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->setPath('/Modules/Media/Files/Modules/Helper/' . ($request->getDataString('name') ?? ''));
$collection->setVirtualPath('/Modules/Helper'); $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; $response->header->status = RequestStatusCode::R_403;
$this->createInvalidCreateResponse($request, $response, $collection); $this->createInvalidCreateResponse($request, $response, $collection);
return; return;
} }
$this->createModel($request->header->account, $collection, CollectionMapper::class, 'collection', $request->getOrigin());
$report = $this->createReportFromRequest($request, $response, $collection->id); $report = $this->createReportFromRequest($request, $response, $collection->id);
$this->app->moduleManager->get('Admin')->createAccountModelPermission( $this->app->moduleManager->get('Admin')->createAccountModelPermission(

View File

@ -79,7 +79,7 @@ final class Autoloader
$class = \strtr($class, '_\\', '//'); $class = \strtr($class, '_\\', '//');
if (\stripos($class, 'Web/Backend') !== false || \stripos($class, 'Web/Api') !== false) { 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; $class2 = $class;

View File

@ -60,6 +60,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
$this->app = new class() extends ApplicationAbstract $this->app = new class() extends ApplicationAbstract
{ {
protected string $appName = 'Api'; protected string $appName = 'Api';
protected int $appId = 1;
}; };
$this->app->dbPool = $GLOBALS['dbpool']; $this->app->dbPool = $GLOBALS['dbpool'];