Kraken\_Unit\Runtime\RuntimeModelTest::testApiStop_ResolvesPromiseAndEmitsEvents_WhenInvokedFromStateStarted PHP Method

testApiStop_ResolvesPromiseAndEmitsEvents_WhenInvokedFromStateStarted() public method

    public function testApiStop_ResolvesPromiseAndEmitsEvents_WhenInvokedFromStateStarted()
    {
        $states = [Runtime::STATE_STARTED];
        foreach ($states as $state) {
            $events = [];
            $emitter = $this->getMock(EventEmitter::class, [], [], '', false);
            $emitter->expects($this->exactly(3))->method('emit')->will($this->returnCallback(function ($event) use(&$events) {
                $events[] = $event;
            }));
            $runtime = $this->createModel([], ['getEventEmitter']);
            $runtime->expects($this->once())->method('getEventEmitter')->will($this->returnValue($emitter));
            $runtime->setState($state);
            $callable = $this->createCallableMock();
            $callable->expects($this->once())->method('__invoke')->with($this->isType('string'));
            $runtime->stop()->then($callable, $this->expectCallableNever());
            $this->assertSame(['beforeStop', 'stop', 'afterStop'], $events);
        }
    }
RuntimeModelTest