/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return \Symfony\Component\HttpFoundation\Response */ public function drawItemAction(Request $request) { $id = $this->castId($request->query->get('id')); $format = $request->query->get('format', self::DEFAULT_FORMAT); $fontSize = $request->query->getInt('font', self::DEFAULT_FONT_SIZE); $orderItem = SpySalesOrderItemQuery::create()->findOneByIdSalesOrderItem($id); $processEntity = $orderItem->getProcess(); return new Response($this->getFacade()->drawProcess($processEntity->getName(), $orderItem->getState()->getName(), $format, $fontSize)); }
/** * @param \Spryker\Zed\Payone\Business\Api\TransactionStatus\TransactionStatusResponse $response * @param int $transactionId * @param array $dataArray * * @return void */ protected function triggerEventsOnSuccess(TransactionStatusResponse $response, $transactionId, array $dataArray) { if (!$response->isSuccess()) { return; } //TODO: Refactor as per CD-380 $orderItems = SpySalesOrderItemQuery::create()->useOrderQuery()->useSpyPaymentPayoneQuery()->filterByTransactionId($transactionId)->endUse()->endUse()->find(); $this->getFactory()->getOmsFacade()->triggerEvent('PaymentNotificationReceived', $orderItems, []); if ($dataArray['txaction'] === PayoneConstants::PAYONE_TXACTION_APPOINTED) { $this->getFactory()->getOmsFacade()->triggerEvent('RedirectResponseAppointed', $orderItems, []); } }
/** * @return void */ public function testSaveOrderCreatesAndFillsOrderItems() { $quoteTransfer = $this->getValidBaseQuoteTransfer(); $initialState = SpyOmsOrderItemStateQuery::create()->filterByName(OmsConstants::INITIAL_STATUS)->findOneOrCreate(); $initialState->save(); $this->assertNotNull($initialState->getIdOmsOrderItemState()); $item1 = new ItemTransfer(); $item1->setName('item-test-1')->setSku('sku1')->setUnitGrossPrice(120)->setQuantity(2)->setTaxRate(19); $item2 = new ItemTransfer(); $item2->setName('item-test-2')->setSku('sku2')->setUnitGrossPrice(130)->setQuantity(3)->setTaxRate(19); $quoteTransfer->addItem($item1); $quoteTransfer->addItem($item2); $item1Query = SpySalesOrderItemQuery::create()->filterByName('item-test-1'); $item2Query = SpySalesOrderItemQuery::create()->filterByName('item-test-2'); $checkoutResponseTransfer = $this->getValidBaseResponseTransfer(); $this->salesFacade->saveOrder($quoteTransfer, $checkoutResponseTransfer); $savedItems = $checkoutResponseTransfer->getSaveOrder()->getOrderItems(); $item1Entity = $item1Query->findOne(); $item2Entity = $item2Query->findOne(); $this->assertNotNull($item1Entity); $this->assertNotNull($item2Entity); $this->assertSame($savedItems[1]->getIdSalesOrderItem(), $item1Entity->getIdSalesOrderItem()); $this->assertSame($item1->getName(), $item1Entity->getName()); $this->assertSame($checkoutResponseTransfer->getSaveOrder()->getIdSalesOrder(), $item1Entity->getFkSalesOrder()); $this->assertSame($initialState->getIdOmsOrderItemState(), $item1Entity->getFkOmsOrderItemState()); $this->assertSame($item1->getSku(), $item1Entity->getSku()); $this->assertSame($savedItems[1]->getUnitGrossPrice(), $item1Entity->getGrossPrice()); $this->assertSame(1, $item1Entity->getQuantity()); $this->assertSame($savedItems[3]->getIdSalesOrderItem(), $item2Entity->getIdSalesOrderItem()); $this->assertSame($item2->getName(), $item2Entity->getName()); $this->assertSame($checkoutResponseTransfer->getSaveOrder()->getIdSalesOrder(), $item2Entity->getFkSalesOrder()); $this->assertSame($initialState->getIdOmsOrderItemState(), $item2Entity->getFkOmsOrderItemState()); $this->assertSame($item2->getSku(), $item2Entity->getSku()); $this->assertSame($savedItems[3]->getUnitGrossPrice(), $item2Entity->getGrossPrice()); $this->assertSame(1, $item2Entity->getQuantity()); }
/** * @return \Orm\Zed\Sales\Persistence\SpySalesOrderItemQuery */ public function createSalesOrderItemQuery() { return SpySalesOrderItemQuery::create(); }
/** * @return void */ public function testCheckoutTriggersStateMachine() { $quoteTransfer = $this->getBaseQuoteTransfer(); $this->checkoutFacade->placeOrder($quoteTransfer); $orderItem1Query = SpySalesOrderItemQuery::create()->filterBySku('OSB1337'); $orderItem2Query = SpySalesOrderItemQuery::create()->filterBySku('OSB1338'); $orderItem1 = $orderItem1Query->findOne(); $orderItem2 = $orderItem2Query->findOne(); $this->assertNotNull($orderItem1); $this->assertNotNull($orderItem2); $this->assertNotEquals(OmsConstants::INITIAL_STATUS, $orderItem1->getState()->getName()); $this->assertEquals('waiting for payment', $orderItem2->getState()->getName()); }