Metabor\Statemachine\Observer\OnEnterObserverTest::testContextIsPassedToOnEnterEvent PHP Метод

testContextIsPassedToOnEnterEvent() публичный Метод

    public function testContextIsPassedToOnEnterEvent()
    {
        $context = new \ArrayObject(array('someContext'));
        $onEnterObserver = new OnEnterObserver('someEvent');
        $state = $this->getMockForAbstractClass('\\MetaborStd\\Statemachine\\StateInterface');
        $state->method('hasEvent')->with($this->equalTo('someEvent'))->willReturn(true);
        $stateMachine = $this->getMockBuilder('Metabor\\Statemachine\\Statemachine')->disableOriginalConstructor()->setMethods(array('getCurrentState', 'getCurrentContext', 'triggerEvent'))->getMock();
        $stateMachine->method('getCurrentState')->willReturn($state);
        $stateMachine->method('getCurrentContext')->willReturn($context);
        $stateMachine->expects($this->once())->method('triggerEvent')->with($this->equalTo('someEvent'), $this->equalTo($context));
        $onEnterObserver->update($stateMachine);
    }