clqms-be/tests/feature/Patients/PatientDeleteTest.php
2025-10-14 15:50:22 +07:00

97 lines
3.0 KiB
PHP

<?php
namespace Tests\Feature\Patients;
use CodeIgniter\Test\FeatureTestTrait;
use CodeIgniter\Test\CIUnitTestCase;
class PatientDeleteTest extends CIUnitTestCase
{
use FeatureTestTrait;
protected $endpoint = 'api/patient';
// // 500 error catch
// public function testDeleteWithoutInternalPID() {
// $result = $this->withBodyFormat('json')
// ->delete($this->endpoint, []);
// $result->assertStatus(500);
// $result->assertJSONFragment([
// 'status' => 500,
// 'messages' => [
// 'error' => 'Internal server error: Undefined array key "InternalPID"'
// ]
// ]);
// }
// // 400
// public function testDeleteWitWrongInternalPID() {
// $result = $this->withBodyFormat('json')
// ->delete($this->endpoint, [
// // Pilih salah satu
// // 'InternalPID' => [],
// // 'InternalPID' => 0,
// // 'InternalPID' => '0',
// // 'InternalPID' => '',
// 'InternalPID' => null,
// ]);
// $result->assertStatus(400);
// $result->assertJSONFragment([
// 'status' => 'error',
// 'message' => 'Patient ID must be a valid integer.'
// ]);
// }
// // 404 not found
// public function testDeleteNotFound() {
// $testId = 9999;
// $result = $this->withBodyFormat('json')
// ->delete($this->endpoint, [
// 'InternalPID' => $testId
// ]);
// $result->assertStatus(404);
// $result->assertJSONFragment([
// 'status' => 404,
// 'error' => 404,
// 'messages' => [
// 'error' => 'Patient ID with '.$testId.' not found.'
// ]
// ]);
// }
// // 200 ok
// public function testDeleteSuccess() {
// $testId = 3;
// // Anggap patient 1 2 3 ada di seed DB
// $result = $this->withBodyFormat('json')
// ->delete($this->endpoint, [
// 'InternalPID' => $testId
// ]);
// $result->assertStatus(200);
// $result->assertJSONFragment([
// 'status' => 'success',
// 'message' => 'Patient ID with '.$testId.' deleted successfully.'
// ]);
// }
// // 400 - SQL Inject
// public function testDeleteServerError() {
// // Simulasi: kirim input aneh yang trigger exception
// $result = $this->withBodyFormat('json')
// ->delete($this->endpoint, [
// 'InternalPID' => "' OR 1=1 --"
// ]);
// $result->assertStatus(400);
// $result->assertJSONFragment([
// 'status' => 'error',
// 'message' => 'Patient ID must be a valid integer.'
// ]);
// }
}