/** * Apply sales rule during backend order creation. * * @return void */ public function run() { if ($this->salesRule !== null) { if ($this->salesRule->hasData('coupon_code')) { $this->orderCreateIndex->getCreateBlock()->getCouponsBlock()->applyCouponsCode($this->salesRule); } } }
/** * Fill Sales Data. * * @return array */ public function run() { $this->salesOrderCreateIndex->getCreateBlock()->submitOrder(); $this->salesOrderView->getMessagesBlock()->waitSuccessMessage(); $orderId = $this->salesOrderView->getTitleBlock()->getOrderId(); $order = $this->fixtureFactory->createByCode('order', ['data' => ['id' => $orderId, 'customer_id' => ['customer' => $this->customer], 'entity_id' => ['products' => $this->products], 'billing_address_id' => ['billingAddress' => $this->billingAddress]]]); return ['orderId' => $orderId, 'order' => $order]; }
/** * Add products to order during creating backend order. * * @return void */ public function run() { $createBlock = $this->salesOrderCreateIndex->getCreateBlock(); $createBlock->getItemsBlock()->clickAddProducts(); $productsGrid = $createBlock->getSearchBlock()->getSearchGrid(); foreach ($this->products as $product) { $productsGrid->searchAndSelect(['sku' => $product->getSku()]); } $createBlock->getSearchBlock()->addSelectedProductsToOrder(); $createBlock->getTemplateBlock()->waitLoader(); }
/** * Assert that deleted customers address is not displayed on backend during order creation. * * @param SalesOrderIndex $orderIndex * @param SalesOrderCreateIndex $orderCreateIndex * @param Address $deletedAddress * @param Customer $customer * @return void */ public function processAssert(SalesOrderIndex $orderIndex, SalesOrderCreateIndex $orderCreateIndex, Address $deletedAddress, Customer $customer) { $orderIndex->open()->getPageActionsBlock()->addNew(); $orderCreateIndex->getCustomerGrid()->selectCustomer($customer); $orderCreateIndex->getStoreBlock()->selectStoreView(); \PHPUnit_Framework_Assert::assertNotContains($this->prepareAddress($deletedAddress), $orderCreateIndex->getCreateBlock()->getBillingAddressForm()->getExistingAddresses(), 'Deleted address is present on backend during order creation'); }
/** * Fill Sales Data. * * @return array */ public function run() { $this->salesOrderCreateIndex->getCreateBlock()->submitOrder(); $this->salesOrderView->getMessagesBlock()->waitSuccessMessage(); $orderId = $this->salesOrderView->getTitleBlock()->getOrderId(); $order = $this->createOrderFixture($orderId); return ['orderId' => $orderId, 'order' => $order]; }
/** * Assert that products are visible in items order block. * * @param SalesOrderCreateIndex $orderCreatePage * @param array $products * @return void */ public function processAssert(SalesOrderCreateIndex $orderCreatePage, array $products) { $productsVisibility = []; foreach ($products as $product) { $productName = $product->getName(); if (!$orderCreatePage->getCreateBlock()->getItemsBlock()->getItemProduct($productName)->isVisible()) { $productsVisibility[] = "'{$productName}' is not visible in items order block."; } } \PHPUnit_Framework_Assert::assertEmpty($productsVisibility, $productsVisibility); }
/** * Fill Shipping Data. * * @return array */ public function run() { if ($this->shipping['shipping_service'] != '-') { $this->salesOrderCreateIndex->getCreateBlock()->getShippingBlock()->selectShippingMethod($this->shipping); } }
/** * Fill Payment data. * * @return void */ public function run() { $this->salesOrderCreateIndex->getCreateBlock()->getPaymentBlock()->selectPaymentMethod($this->payment); }
/** * Fill Billing address. * * @return Address */ public function run() { $this->salesOrderCreateIndex->getCreateBlock()->getBillingAddressForm()->fill($this->billingAddress); return ['billingAddress' => $this->billingAddress]; }
/** * Fill product data. * * @return void */ public function run() { $this->salesOrderCreateIndex->getCreateBlock()->getItemsBlock()->updateProductsData($this->products); }
/** * Assert that items ordered block is empty. * * @param SalesOrderCreateIndex $orderCreatePage * @return void */ public function processAssert(SalesOrderCreateIndex $orderCreatePage) { \PHPUnit_Framework_Assert::assertTrue($orderCreatePage->getCreateBlock()->getItemsBlock()->isEmptyBlockVisible(), "Items ordered block is not empty"); }
/** * Assert product was added to Items Ordered grid in customer account on Order creation page backend. * * @param SalesOrderCreateIndex $orderCreatePage * @param array $products * @param bool $productsIsConfigured * @return void */ public function processAssert(SalesOrderCreateIndex $orderCreatePage, array $products, $productsIsConfigured = true) { $this->productsIsConfigured = $productsIsConfigured; $data = $this->prepareData($products, $orderCreatePage->getCreateBlock()->getItemsBlock()); \PHPUnit_Framework_Assert::assertEquals($data['fixtureData'], $data['pageData'], 'Product data on order create page not equals to passed from fixture.'); }