3 namespace Drupal\Tests\workflows\Unit;
5 use Drupal\Tests\UnitTestCase;
6 use Drupal\workflow_type_test\Plugin\WorkflowType\TestType;
7 use Drupal\workflows\Transition;
8 use Drupal\workflows\WorkflowTypeInterface;
11 * @coversDefaultClass \Drupal\workflows\Transition
15 class TransitionTest extends UnitTestCase {
18 * @covers ::__construct
22 public function testGetters() {
23 $state = new Transition(
24 $this->prophesize(WorkflowTypeInterface::class)->reveal(),
30 $this->assertEquals('draft_published', $state->id());
31 $this->assertEquals('Publish', $state->label());
38 public function testFromAndTo() {
39 $workflow = new TestType([], '', []);
41 ->addState('draft', 'Draft')
42 ->addState('published', 'Published')
43 ->addTransition('publish', 'Publish', ['draft'], 'published');
44 $state = $workflow->getState('draft');
45 $transition = $state->getTransitionTo('published');
46 $this->assertEquals($state, $transition->from()['draft']);
47 $this->assertEquals($workflow->getState('published'), $transition->to());