2022-01-24 13:17:46 +00:00

82 lines
2.0 KiB
PHP

<?php
/**
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Chill\MainBundle\Tests\Entity\Workflow;
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
use PHPUnit\Framework\TestCase;
/**
* @internal
* @coversNothing
*/
final class EntityWorkflowTest extends TestCase
{
public function testIsFinalizeWith1Steps()
{
$entityWorkflow = new EntityWorkflow();
$entityWorkflow->getCurrentStep()->setFinalizeAfter(true);
$entityWorkflow->setStep('final');
$this->assertTrue($entityWorkflow->isFinalize());
}
public function testIsFinalizeWith4Steps()
{
$entityWorkflow = new EntityWorkflow();
$this->assertFalse($entityWorkflow->isFinalize());
$entityWorkflow->setStep('two');
$this->assertFalse($entityWorkflow->isFinalize());
$entityWorkflow->setStep('previous_final');
$this->assertFalse($entityWorkflow->isFinalize());
$entityWorkflow->getCurrentStep()->setFinalizeAfter(true);
$entityWorkflow->setStep('final');
$this->assertTrue($entityWorkflow->isFinalize());
}
public function testIsFreeze()
{
$entityWorkflow = new EntityWorkflow();
$this->assertFalse($entityWorkflow->isFreeze());
$entityWorkflow->setStep('step_one');
$this->assertFalse($entityWorkflow->isFreeze());
$entityWorkflow->setStep('step_three');
$this->assertFalse($entityWorkflow->isFreeze());
$entityWorkflow->getCurrentStep()->setFreezeAfter(true);
$this->assertFalse($entityWorkflow->isFreeze());
$entityWorkflow->setStep('freezed');
$this->assertTrue($entityWorkflow->isFreeze());
$entityWorkflow->setStep('after_freeze');
$this->assertTrue($entityWorkflow->isFreeze());
$this->assertTrue($entityWorkflow->getCurrentStep()->isFreezeAfter());
}
}