/** * @test * @expectedException \Symfony\Component\HttpKernel\Exception\HttpException */ public function shouldThrowException() { $process = new Process(); $process->addStep('foo', new TestStep()); $process->setValidator(new ProcessValidator('An error occurred.', null, function () { return false; })); if (!$process->getValidator()->isValid()) { $process->getValidator()->getResponse($process->getStepByName('foo')); } }
/** * @test */ public function shouldGetTemplateResponse() { $message = "Error!"; $parser = $this->getMock('Symfony\\Component\\Templating\\TemplateNameParserInterface'); $parser->expects($this->once())->method('parse')->with('error.html.php')->will($this->returnValue(new TemplateReference('', '', 'error', 'html', 'php'))); $locator = $this->getMock('Symfony\\Component\\Config\\FileLocatorInterface'); $locator->expects($this->once())->method('locate')->will($this->returnValue(__DIR__ . '/../DependencyInjection/Fixtures/Resources/views/error.html.php')); $engine = new Render($parser, new FilesystemLoader($locator)); $process = new Process(); $step = new TestStep(); $container = $this->getMock('Symfony\\Component\\DependencyInjection\\Container'); $container->expects($this->once())->method('get')->will($this->returnValue($engine)); $step->setContainer($container); $process->addStep('foo', $step); $process->setValidator(new ProcessValidator(function () { return false; }, $message, 'error.html.php')); if (!$process->getValidator()->isValid()) { $response = $process->getValidator()->getResponse($process->getStepByName('foo')); } $this->assertSame($response->getContent(), $message); }
/** * @test */ public function shouldSetNeededDataUsingSetter() { $process = new Process(); $process->setScenarioAlias('alias'); $process->setDisplayRoute('displayRoute'); $process->setForwardRoute('forwardRoute'); $process->setRedirect('http://somepage'); $process->setValidator(new ProcessValidator(function () { return false; })); $validator = $process->getValidator(); $this->assertSame('alias', $process->getScenarioAlias()); $this->assertSame('displayRoute', $process->getDisplayRoute()); $this->assertSame('forwardRoute', $process->getForwardRoute()); $this->assertSame('http://somepage', $process->getRedirect()); $this->assertSame(false, $validator->isValid()); }
/** * @test */ public function shouldSetNeededDataUsingSetter() { $process = new Process(); $process->setScenarioAlias('alias'); $process->setDisplayRoute('displayRoute'); $process->setDisplayRouteParams(array('foo' => 'bar')); $process->setForwardRoute('forwardRoute'); $process->setForwardRouteParams(array('foo' => 'bar')); $process->setRedirect('http://somepage'); $process->setRedirectParams(array('foo' => 'bar')); $process->setValidator(new ProcessValidator('An error occurred.', null, function () { return false; })); $validator = $process->getValidator(); $this->assertSame('alias', $process->getScenarioAlias()); $this->assertSame('displayRoute', $process->getDisplayRoute()); $this->assertSame(array('foo' => 'bar'), $process->getDisplayRouteParams()); $this->assertSame('forwardRoute', $process->getForwardRoute()); $this->assertSame(array('foo' => 'bar'), $process->getForwardRouteParams()); $this->assertSame('http://somepage', $process->getRedirect()); $this->assertSame(array('foo' => 'bar'), $process->getRedirectParams()); $this->assertSame(false, $validator->isValid()); }