public function testGetFailedMessage()
 {
     $message = 'test message';
     $this->router->expects($this->never())->method($this->anything());
     $this->translator->expects($this->once())->method('trans')->willReturn($message);
     $this->assertEquals($message, $this->generator->getFailedMessage());
 }
Пример #2
0
 protected function setUp()
 {
     $this->urlGenerator = $this->getMock('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface');
     $this->security = $this->getMock('Symfony\\Component\\Security\\Core\\SecurityContextInterface');
     $this->session = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Session\\Session')->disableOriginalConstructor()->getMock();
     $this->urlGenerator->expects($this->once())->method('generate')->with('payment_page')->willReturn('/buy/new/ticket');
     $this->sut = new AccessDeniedListener($this->security, $this->urlGenerator, 'payment_page');
 }
Пример #3
0
 public function testRender()
 {
     $this->urlGenerator->expects($this->once())->method('generate')->with($this->identicalTo($route = 'route_value'), $this->identicalTo([$routeParameter = 'route_parameter' => $routeParameterValue = 'route_parameter_value']), $this->identicalTo($routeReferenceType = UrlGeneratorInterface::ABSOLUTE_PATH))->will($this->returnValue($url = 'url_value'));
     $this->propertyAccessor->expects($this->once())->method('getValue')->with($this->identicalTo($data = new \stdClass()), $this->identicalTo($routeParameter))->will($this->returnValue($routeParameterValue));
     $action = $this->createActionMock();
     $action->expects($this->once())->method('getLabel')->will($this->returnValue($actionLabel = 'action_label'));
     $action->expects($this->once())->method('getOption')->with($this->identicalTo('trans_domain'))->will($this->returnValue($actionTransDomain = 'action_trans_domain'));
     $this->formFactory->expects($this->once())->method('create')->with($this->identicalTo(CsrfProtectionType::class), $this->isNull(), $this->identicalTo(['method' => $method = Request::METHOD_DELETE, 'action' => $url, 'label' => $actionLabel, 'translation_domain' => $actionTransDomain]))->will($this->returnValue($form = $this->createFormMock()));
     $form->expects($this->once())->method('createView')->will($this->returnValue($view = $this->createFormViewMock()));
     $this->assertSame($view, $this->type->render($data, ['action' => $action, 'method' => strtolower($method), 'route' => $route, 'route_parameters' => [$routeParameter], 'route_reference_type' => $routeReferenceType]));
 }
 public function testProcessWithRedirectRoute()
 {
     $data = ['data' => ['param' => 42]];
     $redirectRouteName = 'redirect_route';
     $redirectUrl = '/redirect/url';
     $expectedResponse = new RedirectResponse($redirectUrl);
     $this->router->expects($this->once())->method('generate')->with($redirectRouteName, [ProductDataStorage::STORAGE_KEY => true], UrlGeneratorInterface::ABSOLUTE_PATH)->willReturn($redirectUrl);
     $this->storage->expects($this->once())->method('set')->with($data);
     $this->processor->setRedirectRouteName($redirectRouteName);
     $this->assertEquals($expectedResponse, $this->processor->process($data, new Request()));
 }
 /**
  * @test
  */
 public function it_redirects_to_a_destination_after_authorisation()
 {
     $oauthVerifier = 'verification';
     // The authorisation method should get the stored request token.
     $this->authService->expects($this->any())->method('getStoredRequestToken')->willReturn($this->requestToken);
     // Based on the stored request token and the oauth verifier it should
     // get the user from the authentication service.
     $userId = 1;
     $tokenCredentials = new TokenCredentials('token2', 'secret2');
     $user = new User($userId, $tokenCredentials);
     $this->authService->expects($this->any())->method('getAccessToken')->with($this->requestToken, $oauthVerifier)->willReturn($user);
     // Afterwards it should remove the stored request token.
     $this->authService->expects($this->any())->method('removeStoredRequestToken');
     // Perform a fake request to the route with the query parameters.
     $query = ['oauth_token' => $this->requestToken->getToken(), 'oauth_verifier' => $oauthVerifier, 'destination' => $this->destination];
     $request = new Request($query);
     $response = $this->controller->authorize($request);
     // Make sure the response is a redirect to the destination that
     // was set in the query parameters.
     $this->assertEquals(new RedirectResponse($this->destination), $response);
     // Make sure that the minimal user info has been stored in the session.
     $this->assertEquals($this->userSessionService->getMinimalUserInfo(), $user);
     // Perform the fake request again, but this time without destination
     // parameter in the query.
     $this->urlGenerator->expects($this->once())->method('generate')->with($this->defaultDestination)->willReturn($this->defaultDestinationUrl);
     $query = ['oauth_token' => $this->requestToken->getToken(), 'oauth_verifier' => $oauthVerifier];
     $request = new Request($query);
     $response = $this->controller->authorize($request);
     // Make sure that the response now redirects to the default
     // destination.
     $this->assertEquals(new RedirectResponse($this->defaultDestinationUrl), $response);
 }
 public function testSaveAndDuplicate()
 {
     $entity = $this->getProductMock();
     $queryParameters = ['qwe' => 'rty'];
     $this->request->query = new ParameterBag($queryParameters);
     $this->request->expects($this->once())->method('getMethod')->will($this->returnValue('POST'));
     $this->request->expects($this->at(1))->method('get')->with($this->anything())->will($this->returnValue(false));
     $this->request->expects($this->at(2))->method('get')->with(Router::ACTION_PARAMETER)->will($this->returnValue(ProductUpdateHandler::ACTION_SAVE_AND_DUPLICATE));
     $this->doctrineHelper->expects($this->once())->method('getEntityManager')->with($entity)->will($this->returnValue($this->entityManager));
     $message = 'Saved';
     $savedAndDuplicatedMessage = 'Saved and duplicated';
     /** @var \PHPUnit_Framework_MockObject_MockObject|Form $form */
     $form = $this->getMockBuilder('Symfony\\Component\\Form\\Form')->disableOriginalConstructor()->getMock();
     $form->expects($this->once())->method('isValid')->will($this->returnValue(true));
     $flashBag = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface')->getMock();
     $flashBag->expects($this->once())->method('add')->with('success', $message);
     $flashBag->expects($this->once())->method('set')->with('success', $savedAndDuplicatedMessage);
     $this->session->expects($this->any())->method('getFlashBag')->will($this->returnValue($flashBag));
     $saveAndStayRoute = ['route' => 'test_update'];
     $saveAndCloseRoute = ['route' => 'test_view'];
     $this->router->expects($this->once())->method('redirectAfterSave')->with(array_merge($saveAndStayRoute, ['parameters' => $queryParameters]), array_merge($saveAndCloseRoute, ['parameters' => $queryParameters]), $entity)->will($this->returnValue(new RedirectResponse('test_url')));
     $this->translator->expects($this->once())->method('trans')->with('orob2b.product.controller.product.saved_and_duplicated.message')->will($this->returnValue($savedAndDuplicatedMessage));
     $this->urlGenerator->expects($this->once())->method('generate')->with('orob2b_product_duplicate', ['id' => self::PRODUCT_ID])->will($this->returnValue('generated_redirect_url'));
     $result = $this->handler->handleUpdate($entity, $form, $saveAndStayRoute, $saveAndCloseRoute, $message);
     $this->assertEquals('generated_redirect_url', $result->headers->get('location'));
     $this->assertEquals(302, $result->getStatusCode());
 }
Пример #7
0
 public function testRenderWithPersistent()
 {
     $column = $this->createColumnMock();
     $column->expects($this->once())->method('getName')->will($this->returnValue($name = 'name'));
     $view = $this->createGridViewMock();
     $view->expects($this->once())->method('getDefinition')->will($this->returnValue($grid = $this->createGridMock()));
     $grid->expects($this->once())->method('hasSort')->with($this->identicalTo($name))->will($this->returnValue(true));
     $this->requestStack->expects($this->once())->method('getMasterRequest')->will($this->returnValue($request = $this->createRequestMock()));
     $request->attributes->expects($this->once())->method('get')->with($this->identicalTo('_route_params'), $this->identicalTo([]))->will($this->returnValue($routeParams = ['route' => 'param']));
     $request->query->expects($this->once())->method('all')->will($this->returnValue($queryParams = ['query' => 'query']));
     $grid->expects($this->once())->method('hasOption')->with($this->identicalTo('persistent'))->will($this->returnValue(true));
     $grid->expects($this->exactly(2))->method('getOption')->will($this->returnValueMap([['persistent', true], ['grid_route', $route = 'route']]));
     $this->filterManager->expects($this->once())->method('get')->with($this->identicalTo($grid))->will($this->returnValue([]));
     $this->urlGenerator->expects($this->once())->method('generate')->with($this->identicalTo($route), $this->identicalTo(array_merge($routeParams, $queryParams, ['grid' => ['sorting' => $name]])))->will($this->returnValue($url = 'url'));
     $this->assertSame($url, $this->renderer->render($view, $column, SorterInterface::ASC));
 }
Пример #8
0
 public function testActionWithValidFormAndCreatedStatusCode()
 {
     $this->parameterResolver->expects($this->once())->method('resolveApi')->will($this->returnValue(true));
     $event = $this->createActionEventMock();
     $event->expects($this->once())->method('getForm')->will($this->returnValue($form = $this->createFormMock()));
     $form->expects($this->once())->method('isValid')->will($this->returnValue(true));
     $form->expects($this->exactly(2))->method('getData')->will($this->returnValue($data = new \stdClass()));
     $this->parameterResolver->expects($this->once())->method('resolveLocationRoute')->will($this->returnValue($route = 'route'));
     $this->parameterResolver->expects($this->once())->method('resolveLocationRouteParameters')->with($this->identicalTo($data))->will($this->returnValue($routeParameters = ['route_param']));
     $this->urlGenerator->expects($this->once())->method('generate')->with($this->identicalTo($route), $this->identicalTo($routeParameters))->will($this->returnValue($url = 'url'));
     $event->expects($this->once())->method('getStatusCode')->will($this->returnValue($statusCode = Response::HTTP_CREATED));
     $event->expects($this->once())->method('setView')->with($this->callback(function (View $view) use($statusCode, $data, $url) {
         $headers = $view->getHeaders();
         return $view->getStatusCode() === $statusCode && $view->getData() === $data && isset($headers['location']) && $headers['location'] === [$url];
     }));
     $this->subscriber->onAction($event);
 }
Пример #9
0
 public function testRender()
 {
     $this->urlGenerator->expects($this->once())->method('generate')->with($this->identicalTo($route = 'route_value'), $this->identicalTo([$routeParameter = 'route_parameter' => $routeParameterValue = 'route_parameter_value']), $this->identicalTo($routeReferenceType = UrlGeneratorInterface::ABSOLUTE_PATH))->will($this->returnValue($url = 'url_value'));
     $this->propertyAccessor->expects($this->once())->method('getValue')->with($this->identicalTo($data = new \stdClass()), $this->identicalTo($routeParameter))->will($this->returnValue($routeParameterValue));
     $this->assertSame($url, $this->type->render($data, ['route' => $route, 'route_parameters' => [$routeParameter], 'route_reference_type' => $routeReferenceType]));
 }
Пример #10
0
 public function testGetAuthorizationUrlWithRouteName()
 {
     $this->generator->expects($this->once())->method('generate')->with($routeName = 'route_name')->will($this->returnValue($redirectUrl = 'https://example.com/authorize'));
     $auth = new Authorization($this->generator, $this->authUrl, $this->appId);
     $this->assertEquals($this->prepareUrl($redirectUrl), $auth->getAuthorizationUrl($routeName));
 }