public function testApiHandle_ReturnsRejectedPromise_WhenRequiredParamIsNotPassed()
{
$ex = new Exception('Exception');
$params = ['param1' => 'value1'];
$solver = $this->createSolver();
$this->setProtectedProperty($solver, 'requires', ['param1' => 'value1', 'param2' => 'value2']);
$callable = $this->createCallableMock();
$callable->expects($this->once())->method('__invoke')->with($this->isInstanceOf(IllegalCallException::class));
$solver->solve($ex, $params)->then(null, $callable);
}