. */ declare(strict_types=1); namespace App\Tests\Entity; use App\Entity\InfoProviderSystem\BulkImportJobStatus; use PHPUnit\Framework\TestCase; class BulkImportJobStatusTest extends TestCase { public function testEnumValues(): void { $this->assertEquals('pending', BulkImportJobStatus::PENDING->value); $this->assertEquals('in_progress', BulkImportJobStatus::IN_PROGRESS->value); $this->assertEquals('completed', BulkImportJobStatus::COMPLETED->value); $this->assertEquals('stopped', BulkImportJobStatus::STOPPED->value); $this->assertEquals('failed', BulkImportJobStatus::FAILED->value); } public function testEnumCases(): void { $cases = BulkImportJobStatus::cases(); $this->assertCount(5, $cases); $this->assertContains(BulkImportJobStatus::PENDING, $cases); $this->assertContains(BulkImportJobStatus::IN_PROGRESS, $cases); $this->assertContains(BulkImportJobStatus::COMPLETED, $cases); $this->assertContains(BulkImportJobStatus::STOPPED, $cases); $this->assertContains(BulkImportJobStatus::FAILED, $cases); } public function testFromString(): void { $this->assertEquals(BulkImportJobStatus::PENDING, BulkImportJobStatus::from('pending')); $this->assertEquals(BulkImportJobStatus::IN_PROGRESS, BulkImportJobStatus::from('in_progress')); $this->assertEquals(BulkImportJobStatus::COMPLETED, BulkImportJobStatus::from('completed')); $this->assertEquals(BulkImportJobStatus::STOPPED, BulkImportJobStatus::from('stopped')); $this->assertEquals(BulkImportJobStatus::FAILED, BulkImportJobStatus::from('failed')); } public function testTryFromInvalidValue(): void { $this->assertNull(BulkImportJobStatus::tryFrom('invalid')); $this->assertNull(BulkImportJobStatus::tryFrom('')); } public function testFromInvalidValueThrowsException(): void { $this->expectException(\ValueError::class); BulkImportJobStatus::from('invalid'); } }