feat(helpdesk): align module with core list/drawer standards
- add helpdesk module pages, services, settings and tests - standardize debtor list on drawer/grid contracts and robust filter drawer behavior - add helpdesk aside panel navigation and settings visibility provider - switch primary list slug to helpdesk/debitor and remove helpdesk/search compatibility - include required core contract updates for list contracts and detail/drawer integration
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace MintyPHP\Tests\Module\Helpdesk\Service;
|
||||
|
||||
use MintyPHP\Module\Helpdesk\Service\HelpdeskOAuthTokenService;
|
||||
use MintyPHP\Module\Helpdesk\Service\HelpdeskSettingsGateway;
|
||||
use MintyPHP\Module\Helpdesk\Service\HelpdeskTokenRepository;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class HelpdeskOAuthTokenServiceTest extends TestCase
|
||||
{
|
||||
private function createService(?string $authMode = null, ?string $cachedToken = null): HelpdeskOAuthTokenService
|
||||
{
|
||||
$settings = $this->createMock(HelpdeskSettingsGateway::class);
|
||||
$settings->method('getAuthMode')->willReturn($authMode ?? HelpdeskSettingsGateway::AUTH_MODE_BASIC);
|
||||
|
||||
$tokenRepo = $this->createMock(HelpdeskTokenRepository::class);
|
||||
$tokenRepo->method('findValidToken')->willReturn($cachedToken);
|
||||
|
||||
return new HelpdeskOAuthTokenService($settings, $tokenRepo);
|
||||
}
|
||||
|
||||
public function testReturnsNullWhenAuthModeIsBasic(): void
|
||||
{
|
||||
$service = $this->createService(HelpdeskSettingsGateway::AUTH_MODE_BASIC);
|
||||
$this->assertNull($service->getAccessToken(1));
|
||||
}
|
||||
|
||||
public function testReturnsCachedTokenWhenAvailable(): void
|
||||
{
|
||||
$service = $this->createService(HelpdeskSettingsGateway::AUTH_MODE_OAUTH2, 'cached-bearer-token');
|
||||
$this->assertSame('cached-bearer-token', $service->getAccessToken(1));
|
||||
}
|
||||
|
||||
public function testReturnsNullWhenNoCachedTokenExists(): void
|
||||
{
|
||||
$service = $this->createService(HelpdeskSettingsGateway::AUTH_MODE_OAUTH2, null);
|
||||
$this->assertNull($service->getAccessToken(1));
|
||||
}
|
||||
|
||||
public function testReturnsNullForBasicAuthRegardlessOfTenantId(): void
|
||||
{
|
||||
$service = $this->createService(HelpdeskSettingsGateway::AUTH_MODE_BASIC);
|
||||
$this->assertNull($service->getAccessToken(99));
|
||||
}
|
||||
|
||||
public function testDoesNotQueryCacheWhenAuthModeIsBasic(): void
|
||||
{
|
||||
$settings = $this->createMock(HelpdeskSettingsGateway::class);
|
||||
$settings->method('getAuthMode')->willReturn(HelpdeskSettingsGateway::AUTH_MODE_BASIC);
|
||||
|
||||
$tokenRepo = $this->createMock(HelpdeskTokenRepository::class);
|
||||
$tokenRepo->expects($this->never())->method('findValidToken');
|
||||
|
||||
$service = new HelpdeskOAuthTokenService($settings, $tokenRepo);
|
||||
$service->getAccessToken(1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user