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

testApiStart_ResolvesPromise_WhenInvokedFromStateCreatedOrStopped() public method

    public function testApiStart_ResolvesPromise_WhenInvokedFromStateCreatedOrStopped()
    {
        $states = [Runtime::STATE_CREATED, Runtime::STATE_STOPPED];
        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->start()->then($callable, $this->expectCallableNever());
            $this->assertSame(['beforeStart', 'start', 'afterStart'], $events);
        }
    }
RuntimeModelTest