public function testProcessValidPost()
 {
     $offerData = ['offer', 'data'];
     $quote = new Quote();
     $order = new Order();
     $this->request->setMethod('POST');
     $this->form->expects($this->once())->method('submit')->with($this->request);
     $this->form->expects($this->once())->method('isValid')->willReturn(true);
     $this->form->expects($this->once())->method('getData')->willReturn($offerData);
     $this->converter->expects($this->once())->method('convert')->with($quote, $this->accountUser, $offerData)->willReturn($order);
     $this->manager->expects($this->once())->method('persist')->with($order);
     $this->manager->expects($this->once())->method('flush');
     $this->assertEquals($order, $this->handler->process($quote));
 }
 /**
  * @Route(
  *      "/create-order/from-widget/{id}",
  *      name="orob2b_sale_frontend_quote_create_order_from_widget",
  *      requirements={"id"="\d+"}
  * )
  * @AclAncestor("orob2b_order_frontend_create")
  * @ParamConverter("quote", options={"repository_method" = "getQuote"})
  * @Template("OroB2BSaleBundle:Quote/Frontend:createOrder.html.twig")
  *
  * @param Request $request
  * @param Quote $quote
  * @return array|RedirectResponse
  */
 public function createOrderFromWidgetAction(Request $request, Quote $quote)
 {
     $form = $this->createForm(QuoteToOrderType::NAME, $quote);
     $objectManager = $this->getOrderObjectManager();
     $converter = $this->get('orob2b_sale.service.quote_to_order_converter');
     $handler = new QuoteToOrderHandler($form, $request, $objectManager, $converter, $this->getUser());
     $order = $handler->process($quote);
     if ($order) {
         $this->addSuccessfulConversionMessage();
     }
     return ['form' => $form->createView(), 'quote' => $quote, 'order' => $order];
 }