Files
MOHPortalTest-AllAgents-All…/qwen/hack/tests/Services/ComplianceServiceTest.php
2025-10-24 16:29:40 -05:00

89 lines
2.4 KiB
PHP

<?hh // strict
namespace Tests\Services;
use App\Models\User;
use App\Services\ComplianceService;
use PHPUnit\Framework\TestCase;
class ComplianceServiceTest extends TestCase
{
private ComplianceService $complianceService;
protected function setUp(): void
{
$this->complianceService = new ComplianceService();
}
public function testUserDataCompliance(): void
{
$user = new User(
id: 1,
email: 'test@example.com',
name: 'Test User',
role: 'job_seeker',
tenantId: 'tenant-123'
);
$this->assertTrue($this->complianceService->isUserDataCompliant($user));
}
public function testUserDataComplianceWithMissingName(): void
{
$user = new User(
id: 1,
email: 'test@example.com',
name: '',
role: 'job_seeker',
tenantId: 'tenant-123'
);
$this->assertFalse($this->complianceService->isUserDataCompliant($user));
}
public function testUserDataComplianceWithMissingEmail(): void
{
$user = new User(
id: 1,
email: '',
name: 'Test User',
role: 'job_seeker',
tenantId: 'tenant-123'
);
$this->assertFalse($this->complianceService->isUserDataCompliant($user));
}
public function testJobPostingCompliance(): void
{
$jobData = [
'title' => 'Software Engineer',
'description' => 'Looking for a skilled developer',
'location' => 'New York'
];
$this->assertTrue($this->complianceService->isJobPostingCompliant($jobData));
}
public function testJobPostingComplianceWithDiscriminatoryLanguage(): void
{
$jobData = [
'title' => 'Software Engineer',
'description' => 'Looking for a young male developer under 30',
'location' => 'New York'
];
$this->assertFalse($this->complianceService->isJobPostingCompliant($jobData));
}
public function testJobPostingComplianceWithMissingField(): void
{
$jobData = [
'title' => 'Software Engineer',
'description' => 'Looking for a skilled developer'
// Missing location
];
$this->assertFalse($this->complianceService->isJobPostingCompliant($jobData));
}
}