public function testOnEnterWorkflowError()
{
$this->model->on(WorkflowEvent::beforeEnterWorkflow('Item04Workflow'), function ($event) {
$this->eventsBefore[] = $event;
$event->isValid = false;
});
$this->model->on(WorkflowEvent::afterEnterWorkflow('Item04Workflow'), function ($event) {
$this->eventsAfter[] = $event;
});
verify('event handler handlers have been called', count($this->eventsBefore) == 0 && count($this->eventsAfter) == 0)->true();
$this->model->enterWorkflow();
verify('current status is not set', $this->model->hasWorkflowStatus())->false();
expect('beforeChangeStatus handler has been called', count($this->eventsBefore))->equals(1);
expect('afterChangeStatus handler has not been called', count($this->eventsAfter))->equals(0);
}