HEX
Server: LiteSpeed
System: Linux premium260.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: aliazzsr (627)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/aliazzsr/api.crm.vqode.com/tests/api/ProjectsEditingCept.php
<?php 
$I = new ApiTester($scenario);
$I->wantTo('create a new project, update the details and then delete the project created');

$I->login();

$I->comment('creating new project');
$newProject = $I->getRandomProjectJSON();
$I->sendPOST('projects', $newProject);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::CREATED);
$I->seeResponseJsonMatchesJsonPath('$.id');
$projectId = json_decode($I->grabResponse())->id;

$I->comment('binding company to project');
$bond = [
    'project_id' => $projectId,
    'company_id' => $I->getRandomId('company'),
];
$I->dontSeeInDatabase('company_project', $bond);
$I->sendPOST('company-projects', $bond);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::CREATED);
$I->seeResponseJsonMatchesJsonPath('$.id');
$I->seeInDatabase('company_project', $bond);

$I->sendGET('projects/' . $projectId, ['expand' => 'companies,stage,sector,riba']);
$response = $I->grabResponse();
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
$I->seeResponseIsJson();
$I->seeResponseContainsJson([
    'id' => $projectId,
    'name' => $newProject['name'],
]);

$I->comment('deleting the project');
$I->sendDELETE('projects/' . $projectId);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::NO_CONTENT);

$I->comment('checking the project doesnt exist anymore');
$I->sendGET('projects/' . $projectId);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::NOT_FOUND);
$I->dontSeeInDatabase('project', ['id' => $projectId]);
$I->dontSeeInDatabase('company_project', $bond);

$I->sendGET('projects/' . $projectId, ['expand' => 'companies,stage,sector,riba']);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::NOT_FOUND);