test: add 92 tests for 12 untested gateway and service classes
Cover Settings gateways (Session, LoginPersistence, SystemAudit, Smtp, FrontendTelemetry, Metadata, App), Auth gateways (ExternalIdentity, Tenant), DirectorySettings, UserSettings, and HotkeyService. Gateway test coverage rises from 25% to 52%, overall service/gateway coverage from 58.6% to 70.7%. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
83
tests/Service/Ui/HotkeyServiceTest.php
Normal file
83
tests/Service/Ui/HotkeyServiceTest.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace MintyPHP\Tests\Service\Ui;
|
||||
|
||||
use MintyPHP\Service\Ui\HotkeyService;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class HotkeyServiceTest extends TestCase
|
||||
{
|
||||
public function testListReturnsNonEmptyArray(): void
|
||||
{
|
||||
$result = HotkeyService::list();
|
||||
|
||||
$this->assertIsArray($result);
|
||||
$this->assertNotEmpty($result);
|
||||
}
|
||||
|
||||
public function testListEntriesHaveRequiredKeys(): void
|
||||
{
|
||||
$result = HotkeyService::list();
|
||||
|
||||
foreach ($result as $index => $entry) {
|
||||
$this->assertArrayHasKey('action_key', $entry, "Entry #{$index} is missing 'action_key'");
|
||||
$this->assertArrayHasKey('mac', $entry, "Entry #{$index} is missing 'mac'");
|
||||
$this->assertArrayHasKey('win', $entry, "Entry #{$index} is missing 'win'");
|
||||
$this->assertNotEmpty($entry['action_key'], "Entry #{$index} has empty 'action_key'");
|
||||
$this->assertNotEmpty($entry['mac'], "Entry #{$index} has empty 'mac'");
|
||||
$this->assertNotEmpty($entry['win'], "Entry #{$index} has empty 'win'");
|
||||
}
|
||||
}
|
||||
|
||||
public function testListEntriesHaveExactlyThreeKeys(): void
|
||||
{
|
||||
$result = HotkeyService::list();
|
||||
|
||||
foreach ($result as $index => $entry) {
|
||||
$this->assertCount(3, $entry, "Entry #{$index} should have exactly 3 keys");
|
||||
}
|
||||
}
|
||||
|
||||
public function testSearchKeywordsReturnsNonEmptyArray(): void
|
||||
{
|
||||
$result = HotkeyService::searchKeywords();
|
||||
|
||||
$this->assertIsArray($result);
|
||||
$this->assertNotEmpty($result);
|
||||
}
|
||||
|
||||
public function testSearchKeywordsContainsExpectedTerms(): void
|
||||
{
|
||||
$result = HotkeyService::searchKeywords();
|
||||
|
||||
$this->assertContains('hotkey', $result);
|
||||
$this->assertContains('shortcut', $result);
|
||||
$this->assertContains('keyboard', $result);
|
||||
}
|
||||
|
||||
public function testSearchKeywordsAreAllStrings(): void
|
||||
{
|
||||
$result = HotkeyService::searchKeywords();
|
||||
|
||||
foreach ($result as $keyword) {
|
||||
$this->assertIsString($keyword);
|
||||
$this->assertNotEmpty($keyword);
|
||||
}
|
||||
}
|
||||
|
||||
public function testListReturnsDeterministicResult(): void
|
||||
{
|
||||
$first = HotkeyService::list();
|
||||
$second = HotkeyService::list();
|
||||
|
||||
$this->assertSame($first, $second);
|
||||
}
|
||||
|
||||
public function testSearchKeywordsReturnsDeterministicResult(): void
|
||||
{
|
||||
$first = HotkeyService::searchKeywords();
|
||||
$second = HotkeyService::searchKeywords();
|
||||
|
||||
$this->assertSame($first, $second);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user