public static function setUpBeforeClass() { self::$kernel->resetDatabase(); $layout = self::$kernel->createLayout('test_workflow_page_listener'); self::$em->persist($layout); self::$em->flush($layout); $state1 = new State('state_1', ['code' => -8000, 'label' => 'State 1']); $state2 = new State('state_2', ['code' => 8000, 'label' => 'State 2']); $state1->setListener('BackBee\\Workflow\\Tests\\Mock\\StateListener'); $state2->setListener('BackBee\\Workflow\\Tests\\Mock\\StateListener'); $state1->setLayout($layout); $state2->setLayout($layout); self::$em->persist($state1); self::$em->flush($state1); self::$em->persist($state2); self::$em->flush($state2); $root = self::$kernel->createPage('root_test'); $root->setLayout($layout); self::$em->persist($root); self::$em->flush($root); $page = self::$kernel->createPage('workflow_test'); $page->setParent($root)->setLayout($layout); self::$em->persist($page); self::$em->flush($page); }
public function testJsonSerialize() { $state = new State(); $json = $state->jsonSerialize(); $this->assertTrue(array_key_exists('uid', $json)); $this->assertTrue(array_key_exists('layout_uid', $json)); $this->assertTrue(array_key_exists('code', $json)); $this->assertTrue(array_key_exists('label', $json)); }
/** * Page workflow state setter. * * @param Page $page * @param State $workflow */ private function trySetPageWorkflowState(Page $page, State $workflow = null) { $page->setWorkflowState(null); if (null !== $workflow) { if (null === $workflow->getLayout() || $workflow->getLayout()->getUid() === $page->getLayout()->getUid()) { $page->setWorkflowState($workflow); } } }
/** * Returns the code of the workflow state. * * @return integer * * @Serializer\VirtualProperty * @Serializer\Type("string") */ public function getStateCode() { $code = $this->isOnline(true) ? '1' : '0'; $code .= null !== $this->_workflow_state ? '_' . $this->_workflow_state->getCode() : ''; return $code; }