mirror of
https://github.com/Karaka-Management/oms-Media.git
synced 2026-02-17 09:48:41 +00:00
fix media test
This commit is contained in:
parent
e868ad0e11
commit
c4d1048431
|
|
@ -562,6 +562,13 @@ final class ApiController extends Controller
|
||||||
*/
|
*/
|
||||||
public function apiMediaUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
public function apiMediaUpdate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
||||||
{
|
{
|
||||||
|
if (!empty($val = $this->validateMediaUpdate($request))) {
|
||||||
|
$response->header->status = RequestStatusCode::R_400;
|
||||||
|
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/** @var Media $old */
|
/** @var Media $old */
|
||||||
$old = MediaMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
$old = MediaMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||||
$new = $this->updateMediaFromRequest($request, clone $old);
|
$new = $this->updateMediaFromRequest($request, clone $old);
|
||||||
|
|
@ -570,6 +577,25 @@ final class ApiController extends Controller
|
||||||
$this->createStandardUpdateResponse($request, $response, $new);
|
$this->createStandardUpdateResponse($request, $response, $new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate media update request
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
*
|
||||||
|
* @return array<string, bool> Returns the validation array of the request
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
private function validateMediaUpdate(RequestAbstract $request) : array
|
||||||
|
{
|
||||||
|
$val = [];
|
||||||
|
if (($val['id'] = !$request->hasData('id'))) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method to update media from request.
|
* Method to update media from request.
|
||||||
*
|
*
|
||||||
|
|
@ -599,6 +625,7 @@ final class ApiController extends Controller
|
||||||
return $new;
|
return $new;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @todo: create test for this content change and the parsed content change
|
||||||
if ($request->hasData('content')) {
|
if ($request->hasData('content')) {
|
||||||
\file_put_contents(
|
\file_put_contents(
|
||||||
$new->isAbsolute
|
$new->isAbsolute
|
||||||
|
|
|
||||||
|
|
@ -244,8 +244,9 @@ trait ApiControllerMediaTrait
|
||||||
|
|
||||||
$request->header->account = 1;
|
$request->header->account = 1;
|
||||||
$request->setData('id', $id);
|
$request->setData('id', $id);
|
||||||
$request->setData('name', 'Test Changed');
|
$request->setData('name', 'New name');
|
||||||
$request->setData('content', 'Test Changed');
|
$request->setData('description', 'New description');
|
||||||
|
$request->setData('content', 'New content');
|
||||||
$this->module->apiMediaUpdate($request, $response);
|
$this->module->apiMediaUpdate($request, $response);
|
||||||
|
|
||||||
$media = MediaMapper::get()
|
$media = MediaMapper::get()
|
||||||
|
|
@ -253,8 +254,9 @@ trait ApiControllerMediaTrait
|
||||||
->where('id', $id)
|
->where('id', $id)
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
self::assertEquals('Test Changed', $media->name);
|
self::assertEquals('New name', $media->name);
|
||||||
self::assertEquals('Test Changed', $media->content?->content);
|
self::assertEquals('New description', $media->description);
|
||||||
|
self::AssertEquals('New content', \file_get_contents($media->getAbsolutePath()));
|
||||||
|
|
||||||
Directory::delete(__DIR__ . '/../test');
|
Directory::delete(__DIR__ . '/../test');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,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'];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user