<?php

declare(strict_types=1);

namespace App\Tests\Unit\Scolarite\Domain\Model\HomeworkSubmission;

use App\Scolarite\Domain\Model\HomeworkSubmission\SubmissionStatus;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\TestCase;

final class SubmissionStatusTest extends TestCase
{
    #[Test]
    public function draftEstModifiable(): void
    {
        self::assertTrue(SubmissionStatus::DRAFT->estModifiable());
    }

    #[Test]
    public function submittedNestPasModifiable(): void
    {
        self::assertFalse(SubmissionStatus::SUBMITTED->estModifiable());
    }

    #[Test]
    public function lateNestPasModifiable(): void
    {
        self::assertFalse(SubmissionStatus::LATE->estModifiable());
    }

    #[Test]
    public function backingValues(): void
    {
        self::assertSame('draft', SubmissionStatus::DRAFT->value);
        self::assertSame('submitted', SubmissionStatus::SUBMITTED->value);
        self::assertSame('late', SubmissionStatus::LATE->value);
    }
}
