/** * */ public function testCaseSupervisor_RejectsPromise_WhenNoValidExceptionFound() { $ex = new RejectionException(); $params = ['param' => 'value']; $result = null; $factory = new SolverFactory(); $factory->define('Unexpected', function () { return new UnexpectedSolver(); }); $super = $this->createSupervisor($factory, [], [WriteException::class => 'Unexpected']); $super->solve($ex, $params)->then(null, function ($ex) use(&$result) { $result = $ex; }); $this->assertInstanceOf(ExecutionException::class, $result); }
/** * @param mixed[] $params * @param SolverInterface[] $rules * @param mixed[]|null $methods * @return Supervisor|\PHPUnit_Framework_MockObject_MockObject */ public function createSupervisor($params = [], $rules = [], $methods = null) { $factory = new SolverFactory(); $factory->define('TestHandler', function () { return $this->createSolver(); })->define('ValidHandler', function () { return $this->createSolver(); }); return $this->getMock(Supervisor::class, $methods, [$factory, $params, $rules]); }
/** * @param RuntimeModelInterface $model * @param string[]|null $methods * @return Supervisor|\PHPUnit_Framework_MockObject_MockObject */ public function createSupervisor($model, $methods = null) { $factory = new SolverFactory(); $factory->define(ModelContinue::class, function ($context = []) use($model) { return new ModelContinue(array_merge(['model' => $model], $context)); }); return $this->getMock(Supervisor::class, $methods, [$factory]); }