2026-03-16 07:24:50 +07:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Tests\Feature\PatVisit;
|
|
|
|
|
|
|
|
|
|
use CodeIgniter\Test\FeatureTestTrait;
|
|
|
|
|
use CodeIgniter\Test\CIUnitTestCase;
|
|
|
|
|
|
2026-03-16 15:58:56 +07:00
|
|
|
class PatVisitByPatientTest extends CIUnitTestCase
|
|
|
|
|
{
|
|
|
|
|
use FeatureTestTrait;
|
|
|
|
|
|
|
|
|
|
protected $endpoint = 'api/patvisit/patient';
|
|
|
|
|
|
|
|
|
|
protected function setUp(): void
|
|
|
|
|
{
|
|
|
|
|
parent::setUp();
|
|
|
|
|
}
|
2026-03-16 07:24:50 +07:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|