public function testApiResolve_MakesPromiseImmutable()
{
$deferred = $this->createDeferred();
$test = $this->getTest();
$mock = $test->createCallableMock();
$mock->expects($test->once())->method('__invoke')->with($test->identicalTo(1));
$deferred->getPromise()->then(function ($value) use($deferred) {
$deferred->resolve(3);
return $value;
})->then($mock, $test->expectCallableNever(), $test->expectCallableNever());
$deferred->resolve(1);
$deferred->resolve(2);
}