assertIsArray($result); $this->assertNotEmpty($result); $this->assertArrayHasKey('value', $result[0]); $this->assertArrayHasKey('label', $result[0]); } public function testLookupsGetRawMethodWorks() { $result = Lookups::getRaw('gender'); $this->assertIsArray($result); $this->assertNotEmpty($result); $this->assertArrayHasKey('key', $result[0]); $this->assertArrayHasKey('value', $result[0]); } public function testLookupsGetRawGenderContainsExpectedData() { $result = Lookups::getRaw('gender'); $keys = array_column($result, 'key'); $values = array_column($result, 'value'); $genderMap = array_combine($keys, $values); $this->assertEquals('Female', $genderMap['1']); $this->assertEquals('Male', $genderMap['2']); } public function testLookupsGetLabelMethodWorks() { $this->assertEquals('Female', Lookups::getLabel('gender', '1')); $this->assertEquals('Male', Lookups::getLabel('gender', '2')); $this->assertEquals('Stat', Lookups::getLabel('order_priority', 'S')); } public function testLookupsGetAllMethodWorks() { $result = Lookups::getAll(); $this->assertIsArray($result); $this->assertArrayHasKey('gender', $result); $this->assertArrayHasKey('specimen_type', $result); $this->assertArrayHasKey('order_priority', $result); } public function testLookupsClearCacheMethodWorks() { Lookups::getAll(); $result = Lookups::clearCache(); $this->assertTrue($result); } public function testLookupsSameAsValueSet() { $lookupResult = Lookups::get('gender'); $valueSetResult = \App\Libraries\ValueSet::get('gender'); $this->assertEquals($lookupResult, $valueSetResult); } public function testLookupsBackwardCompatWithSpecimenStatus() { $result = Lookups::getRaw('specimen_status'); $keys = array_column($result, 'key'); $values = array_column($result, 'value'); $statusMap = array_combine($keys, $values); $this->assertEquals('To be collected', $statusMap['STC']); $this->assertEquals('Collected', $statusMap['SCtd']); $this->assertEquals('In-transport', $statusMap['STran']); } public function testLookupsBackwardCompatWithMaritalStatus() { $result = Lookups::getRaw('marital_status'); $keys = array_column($result, 'key'); $values = array_column($result, 'value'); $statusMap = array_combine($keys, $values); $this->assertEquals('Married', $statusMap['M']); $this->assertEquals('Single', $statusMap['S']); $this->assertEquals('Divorced', $statusMap['D']); } public function testLookupsBackwardCompatWithReligion() { $result = Lookups::getRaw('religion'); $keys = array_column($result, 'key'); $values = array_column($result, 'value'); $religionMap = array_combine($keys, $values); $this->assertEquals('Islam', $religionMap['ISLAM']); $this->assertEquals('Kristen', $religionMap['KRSTN']); $this->assertEquals('Katolik', $religionMap['KTLIK']); } }