Initial commit
This commit is contained in:
30
tests/StateTraitTest.php
Normal file
30
tests/StateTraitTest.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace NoccyLabs\StateMachine;
|
||||
|
||||
use NoccyLabs\StateMachine\StateMachineTrait;
|
||||
use NoccyLabs\StateMachine\StateTrait;
|
||||
use NoccyLabs\StateMachine\Attributes\ValidTransitions;
|
||||
|
||||
require_once __DIR__."/OrderState.php";
|
||||
|
||||
#[\PHPUnit\Framework\Attributes\CoversClass(StateTrait::class)]
|
||||
class StateTraitTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testValidTransitions()
|
||||
{
|
||||
$os = OrderState::PENDING;
|
||||
$this->assertTrue($os->canTransitionTo(OrderState::PROCESSING));
|
||||
$this->assertFalse($os->canTransitionTo(OrderState::PROCESSED));
|
||||
|
||||
$os = OrderState::PROCESSING;
|
||||
$this->assertTrue($os->canTransitionTo(OrderState::PENDING));
|
||||
$this->assertTrue($os->canTransitionTo(OrderState::PROCESSED));
|
||||
$this->assertFalse($os->canTransitionTo(OrderState::SHIPPED));
|
||||
|
||||
$os = OrderState::SHIPPED;
|
||||
$this->assertFalse($os->canTransitionTo(OrderState::PENDING));
|
||||
$this->assertFalse($os->canTransitionTo(OrderState::PROCESSED));
|
||||
$this->assertFalse($os->canTransitionTo(OrderState::SHIPPED));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user