/**
  * @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);
 }