fix tests

This commit is contained in:
Dennis Eichhorn 2023-09-25 21:55:19 +00:00
parent 442cc71132
commit e0f987888f
2 changed files with 7 additions and 48 deletions

View File

@ -56,43 +56,18 @@ final class ApiController extends Controller
{
$profiles = $this->createProfilesFromRequest($request);
$created = [];
$status = true;
foreach ($profiles as $profile) {
$status = $status && $this->apiProfileCreateDbEntry($profile, $request);
if ($profile->id === 0) {
$this->createModel($request->header->account, $profile, ProfileMapper::class, 'profile', $request->getOrigin());
}
$created[] = $profile;
}
if (!$status) {
$response->header->status = RequestStatusCode::R_400;
$this->createInvalidCreateResponse($request, $response, $created);
return;
}
$this->createStandardCreateResponse($request, $response, $created);
}
/**
* @param Profile $profile Profile to create in the database
* @param RequestAbstract $request Request
*
* @return bool
*
* @since 1.0.0
*/
public function apiProfileCreateDbEntry(Profile $profile, RequestAbstract $request) : bool
{
if ($profile->id !== 0) {
return false;
}
$this->createModel($request->header->account, $profile, ProfileMapper::class, 'profile', $request->getOrigin());
return true;
}
/**
* Routing end-point for application behaviour.
*
@ -138,7 +113,7 @@ final class ApiController extends Controller
$accounts = $request->getDataList('iaccount-idlist');
foreach ($accounts as $account) {
$account = (int) \trim($account);
$account = (int) $account;
/** @var Profile $isInDb */
$isInDb = ProfileMapper::get()->where('account', $account)->execute();

View File

@ -16,7 +16,6 @@ namespace Modules\Profile\tests\Controller;
use Model\CoreSettings;
use Modules\Admin\Models\AccountPermission;
use Modules\Profile\Models\ContactType;
use Modules\Profile\Models\Profile;
use Modules\Profile\Models\ProfileMapper;
use phpOMS\Account\Account;
@ -100,34 +99,19 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
*/
public function testApiProfileCreate() : void
{
\Modules\Admin\tests\Helper::createAccounts(1);
$response = new HttpResponse();
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$request->setData('iaccount-idlist', '1');
$request->setData('iaccount-idlist', '2');
$this->module->apiProfileCreate($request, $response);
self::assertGreaterThan(0, $response->get('')['response'][0]->id);
}
/**
* @covers Modules\Profile\Controller\ApiController
* @group module
*/
public function testApiProfileCreateDbEntry() : void
{
$request = new HttpRequest(new HttpUri(''));
$request->header->account = 1;
$profile = new Profile(new \Modules\Admin\Models\Account());
$profile->account->login = 'ProfileCreateDb';
$profile->account->setEmail('profile_create_db@email.com');
self::assertTrue($this->module->apiProfileCreateDbEntry($profile, $request));
}
/**
* @covers Modules\Profile\Controller\ApiController
* @group module