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);