public function testAddOutput() { $tokenable = $this->getMockForAbstractClass('Vespolina\\Workflow\\Node'); $arc = WorkflowCommon::createArc(); $tokenable->addOutput($arc); $this->assertContains($arc, $tokenable->getOutputs()); }
public function testValidateWorkflowSimple() { $this->markTestSkipped('validation needs to be looked at'); $logger = new Logger('test'); $handler = new TestHandler(); $logger->pushHandler($handler); $workflow = WorkflowCommon::createWorkflow($logger); $transaction = WorkflowCommon::createTransaction(); $transaction->setName('transaction'); $a1 = WorkflowCommon::createArc(); $a1->setName('a1'); $a1->setFrom($workflow->getStart()); $a1->setTo($transaction); $a2 = WorkflowCommon::createArc(); $a2->setName('a2'); $a2->setFrom($transaction); $a2->setTo($workflow->getFinish()); $this->assertTrue($workflow->validateWorkflow()); $expected = array('Node workflow.start reached, step 1', 'Traversing arc a1, step 2', 'Node transaction reached, step 3', 'Traversing arc a2, step 4', 'Node workflow.finish reached, step 5'); foreach ($expected as $logEntry) { $this->assertTrue($handler->hasInfo($logEntry)); } }