コード例 #1
0
 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()));
 }
 /**
  * @param object $entity
  */
 protected function fillData($entity)
 {
     $data = $this->storage->get();
     $this->storage->remove();
     if (!$data) {
         return;
     }
     if (!empty($data[ProductDataStorage::ENTITY_DATA_KEY]) && is_array($data[ProductDataStorage::ENTITY_DATA_KEY])) {
         $this->fillEntityData($entity, $data[ProductDataStorage::ENTITY_DATA_KEY]);
     }
     if (!empty($data[ProductDataStorage::ENTITY_ITEMS_DATA_KEY]) && is_array($data[ProductDataStorage::ENTITY_ITEMS_DATA_KEY])) {
         $itemsData = $data[ProductDataStorage::ENTITY_ITEMS_DATA_KEY];
         $this->fillItemsData($entity, $itemsData);
     }
 }
 /**
  * @param array $data
  */
 protected function assertStorageCalled(array $data)
 {
     $this->storage->expects($this->once())->method('get')->willReturn($data);
     $this->storage->expects($this->once())->method('remove');
 }
コード例 #4
0
 public function testRemove()
 {
     $this->session->expects($this->once())->method('remove')->with(ProductDataStorage::PRODUCT_DATA_KEY);
     $this->storage->remove();
 }
コード例 #5
0
 /**
  * {@inheritdoc}
  */
 public function process(array $data, Request $request)
 {
     $this->storage->set($data);
     return empty($this->redirectRouteName) ? null : new RedirectResponse($this->getUrl($this->redirectRouteName));
 }