/** * @test */ public function render_returnResponse() { $response = $this->createMock('Symfony\\Component\\HttpFoundation\\Response'); $templating = $this->createMock('Symfony\\Bundle\\FrameworkBundle\\Templating\\EngineInterface'); $templating->expects($this->any())->method('renderResponse')->willReturn($response); $context = $this->createMock('Scheb\\TwoFactorBundle\\Security\\TwoFactor\\AuthenticationContextInterface'); $renderer = new Renderer($templating, 'AcmeTestBundle:Test:auth.html.twig'); $this->assertEquals($response, $renderer->render($context)); }
/** * Ask for email authentication code. * * @param AuthenticationContextInterface $context * * @return Response|null */ public function requestAuthenticationCode(AuthenticationContextInterface $context) { $user = $context->getUser(); $request = $context->getRequest(); $session = $context->getSession(); // Display and process form $authCode = $request->get($this->authCodeParameter); if ($authCode !== null) { if ($this->authenticator->checkCode($user, $authCode)) { $context->setAuthenticated(true); return new RedirectResponse($request->getUri()); } $session->getFlashBag()->set('two_factor', 'scheb_two_factor.code_invalid'); } // Force authentication code dialog return $this->renderer->render($context); }