public function testEnterWorkflowFails2()
 {
     $item = new Item04();
     $this->specify('enterWorkflow fails if workflow not found for ID', function () use($item) {
         $this->setExpectedException('raoul2000\\workflow\\base\\WorkflowException', 'failed to load workflow definition : Class tests\\codeception\\unit\\models\\INVALIDID does not exist');
         $item->enterWorkflow('INVALIDID');
     });
 }
示例#2
0
 public function testEnterWorkflowFails2()
 {
     /** @var ActiveWorkflowBehavior $item */
     $item = new Item04();
     $this->specify('enterWorkflow fails if workflow not found for ID', function () use($item) {
         $this->setExpectedException('fproject\\workflow\\core\\WorkflowException', 'Failed to load workflow definition : Class tests\\codeception\\unit\\models\\INVALIDIDSource does not exist');
         $item->enterWorkflow('INVALIDID');
     });
 }
 public function testGetNextStatusListData()
 {
     $model = new Item04();
     $model->enterWorkflow();
     $ar = WorkflowHelper::getNextStatusListData($model);
     $expected = ['Item04Workflow/A' => 'Entry', 'Item04Workflow/B' => 'Published'];
     $this->assertEquals(2, count($ar));
     $this->assertEquals(2, count(array_intersect_assoc($expected, $ar)));
     $model->sendTostatus('B');
     $ar = WorkflowHelper::getNextStatusListData($model, false, false, true);
     $this->assertEquals(3, count($ar));
     $this->assertEquals(3, count(array_intersect_assoc(['Item04Workflow/A' => 'Entry', 'Item04Workflow/B' => 'Published', 'Item04Workflow/C' => 'node C'], $ar)));
 }
 public function testGetStatusDropDownData()
 {
     $model = new Item04();
     $model->enterWorkflow();
     $ar = WorkflowHelper::GetStatusDropDownData($model);
     $listData = WorkflowHelper::getAllStatusListData($model->getWorkflow()->getId(), $model->getWorkflowSource());
     codecept_debug($ar);
     $expected = ['Item04Workflow/A' => 'Entry', 'Item04Workflow/B' => 'Published'];
     $this->assertTrue(is_array($ar));
     $this->assertTrue(isset($ar['items']) && is_array($ar['items']));
     $this->assertTrue(isset($ar['options']) && is_array($ar['options']));
     $this->assertEquals(2, count($ar));
     foreach ($listData as $status => $label) {
         $this->assertTrue(array_key_exists($status, $ar['items']));
     }
     $this->assertTrue($ar['options']['Item04Workflow/C']['disabled']);
     $this->assertTrue($ar['options']['Item04Workflow/D']['disabled']);
 }