clqms-be/tests/feature/PatVisit/PatVisitByPatientTest.php
OpenCode Bot 9946978487 chore: refresh CLQMS backend baseline
Re-synced controllers, configs, libraries, seeds, and docs with the latest API expectations and response helpers.
2026-04-08 16:07:19 +07:00

61 lines
1.5 KiB
PHP
Executable File

<?php
namespace Tests\Feature\PatVisit;
use CodeIgniter\Test\FeatureTestTrait;
use CodeIgniter\Test\CIUnitTestCase;
class PatVisitByPatientTest extends CIUnitTestCase
{
use FeatureTestTrait;
protected $endpoint = 'api/patvisit/patient';
protected function setUp(): void
{
parent::setUp();
}
/**
* Test: Show all visits by valid InternalPID
*/
public function testShowByPatientSuccess()
{
$InternalPID = 1;
$response = $this->get($this->endpoint . '/' . $InternalPID);
$response->assertStatus(200);
// Pastikan JSON berisi struktur dasar
$response->assertJSONFragment([
'status' => 'success',
// 'message' => 'data not found',
]);
$json = json_decode($response->getJSON(), true);
// Pastikan 'data' ada
$this->assertArrayHasKey('data', $json);
$this->assertIsArray($json['data']);
}
/**
* Test: Show by patient with invalid / nonexistent InternalPID
*/
public function testShowByPatientNotFound()
{
$invalidPID = 9999999; // diasumsikan tidak ada
$response = $this->get($this->endpoint . '/' . $invalidPID);
$response->assertStatus(200);
$json = json_decode($response->getJSON(), true);
$this->assertArrayHasKey('data', $json);
$this->assertIsArray($json['data']);
$this->assertCount(0, $json['data']); // Data kosong
}
}