mirror of
https://github.com/Karaka-Management/oms-Media.git
synced 2026-02-18 10:18: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
|
||||
{
|
||||
if (!empty($val = $this->validateMediaUpdate($request))) {
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** @var Media $old */
|
||||
$old = MediaMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$new = $this->updateMediaFromRequest($request, clone $old);
|
||||
|
|
@ -570,6 +577,25 @@ final class ApiController extends Controller
|
|||
$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.
|
||||
*
|
||||
|
|
@ -599,6 +625,7 @@ final class ApiController extends Controller
|
|||
return $new;
|
||||
}
|
||||
|
||||
// @todo: create test for this content change and the parsed content change
|
||||
if ($request->hasData('content')) {
|
||||
\file_put_contents(
|
||||
$new->isAbsolute
|
||||
|
|
|
|||
|
|
@ -244,8 +244,9 @@ trait ApiControllerMediaTrait
|
|||
|
||||
$request->header->account = 1;
|
||||
$request->setData('id', $id);
|
||||
$request->setData('name', 'Test Changed');
|
||||
$request->setData('content', 'Test Changed');
|
||||
$request->setData('name', 'New name');
|
||||
$request->setData('description', 'New description');
|
||||
$request->setData('content', 'New content');
|
||||
$this->module->apiMediaUpdate($request, $response);
|
||||
|
||||
$media = MediaMapper::get()
|
||||
|
|
@ -253,8 +254,9 @@ trait ApiControllerMediaTrait
|
|||
->where('id', $id)
|
||||
->execute();
|
||||
|
||||
self::assertEquals('Test Changed', $media->name);
|
||||
self::assertEquals('Test Changed', $media->content?->content);
|
||||
self::assertEquals('New name', $media->name);
|
||||
self::assertEquals('New description', $media->description);
|
||||
self::AssertEquals('New content', \file_get_contents($media->getAbsolutePath()));
|
||||
|
||||
Directory::delete(__DIR__ . '/../test');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,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'];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user