<?php

namespace Tests\Feature\PatVisit;

use CodeIgniter\Test\FeatureTestTrait;
use CodeIgniter\Test\CIUnitTestCase;

class PatVisitShowTest extends CIUnitTestCase
{
    use FeatureTestTrait;

    protected $endpoint = 'api/patvisit';

    protected function setUp(): void
    {
        parent::setUp();
    }

    public function testShowPatientVisitSuccess()
    {
        $PVID = '1';

        $response = $this->get($this->endpoint .'/'. $PVID);

        $response->assertStatus(200);

        $response->assertJSONFragment([
            'status' => 'success',
            'message' => 'data not found',
        ]);

        $json = json_decode($response->getJSON(), true);

        $this->assertArrayHasKey('data', $json);
        $this->assertIsArray($json['data']);
    }

    /**
     * Test: Show patient visit with invalid/nonexistent PVID
     */
    public function testShowPatientVisitNotFound()
    {
        $invalidPVID = '99999';

        $response = $this->get($this->endpoint .'/'. $invalidPVID);

        $response->assertStatus(200);

        $json = json_decode($response->getJSON(), true);

        $this->assertArrayHasKey('data', $json);
        $this->assertIsArray($json['data']);
        $this->assertCount(0, $json['data']); // harus kosong
    }

}
