clqms-be/tests/feature/PatVisit/PatVisitByPatientTest.php
root 2bcdf09b55 chore: repo-wide normalization + rules test coverage
Normalize formatting/line endings across configs, controllers, models, tests, and OpenAPI specs.

Update rule expression/rule engine implementation and remove obsolete RuleAction controller/model.

Add unit tests for rule expression syntax and multi-action behavior, and include docs updates.
2026-03-16 07:24:50 +07:00

56 lines
1.4 KiB
PHP

<?php
namespace Tests\Feature\PatVisit;
use CodeIgniter\Test\FeatureTestTrait;
use CodeIgniter\Test\CIUnitTestCase;
class PatVisitByPatientTest extends CIUnitTestCase
{
use FeatureTestTrait;
protected $endpoint = 'api/patvisit/patient';
/**
* 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
}
}