/**
  * Assert that message from dataset is displayed on order(s) view page on backend.
  *
  * @param GiftMessage $giftMessage
  * @param SalesOrderView $salesOrderView
  * @param OrderIndex $orderIndex
  * @param FixtureFactory $fixtureFactory
  * @param array $products
  * @param string $orderId
  * @return void
  */
 public function processAssert(GiftMessage $giftMessage, SalesOrderView $salesOrderView, OrderIndex $orderIndex, FixtureFactory $fixtureFactory, array $products, $orderId)
 {
     $expectedData = [];
     $actualData = [];
     $orderIndex->open()->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]);
     if ($giftMessage->getAllowGiftMessagesForOrder() === 'Yes') {
         $formData = ['sender' => $giftMessage->getSender(), 'recipient' => $giftMessage->getRecipient(), 'message' => $giftMessage->getMessage()];
         $giftMessageForm = $fixtureFactory->createByCode('giftMessage', ['data' => $formData]);
         $expectedData[] = $giftMessageForm->getData();
         $actualData[] = $salesOrderView->getGiftOptionsBlock()->getData($giftMessageForm);
     }
     if ($giftMessage->getAllowGiftOptionsForItems() === 'Yes') {
         foreach ($giftMessage->getItems() as $key => $giftMessageItem) {
             $expectedData[] = $giftMessageItem->getData();
             $product = $products[$key];
             $actualData[] = $salesOrderView->getGiftItemsBlock()->getItemProduct($product)->getGiftMessageFormData($giftMessage);
         }
     }
     $errors = $this->verifyData($expectedData, $actualData);
     \PHPUnit_Framework_Assert::assertEmpty($errors, $errors);
 }
 /**
  * Add gift message to backend order.
  *
  * @return array
  */
 public function run()
 {
     if ($this->giftMessage->getAllowGiftMessagesForOrder()) {
         $this->orderCreateIndex->getGiftMessageForOrderBlock()->fill($this->giftMessage);
     }
     if ($this->giftMessage->getAllowGiftOptionsForItems()) {
         $this->orderCreateIndex->getCreateGiftMessageBlock()->fillGiftMessageForItems($this->products, $this->giftMessage);
     }
     return ['giftMessage' => $this->giftMessage];
 }
 /**
  * Add gift message to backend order.
  *
  * @return array
  */
 public function run()
 {
     if ($this->giftMessage->getAllowGiftMessagesForOrder() === 'Yes') {
         $giftMessageForOrderBlock = $this->orderCreateIndex->getGiftMessageForOrderBlock();
         $giftMessageForOrderBlock->fill($this->giftMessage);
         $giftMessageForOrderBlock->waitForElementNotVisible('.loading-mask');
     }
     if ($this->giftMessage->getAllowGiftOptionsForItems() === 'Yes') {
         $giftMessageBlock = $this->orderCreateIndex->getCreateGiftMessageBlock();
         $giftMessageBlock->fillGiftMessageForItems($this->products, $this->giftMessage);
         $giftMessageBlock->waitForElementNotVisible('.loading-mask');
     }
     return ['giftMessage' => $this->giftMessage];
 }
Example #4
0
 /**
  * Fill gift message form on item level
  *
  * @param GiftMessage $giftMessage
  * @param array $products
  * @return void
  */
 public function fillGiftMessageItem(GiftMessage $giftMessage, $products = [])
 {
     /** @var \Magento\GiftMessage\Test\Block\Cart\GiftOptions\GiftMessageForm $giftMessageForm */
     if ($giftMessage->getAllowGiftOptionsForItems() === 'Yes') {
         foreach ($products as $product) {
             if ($product->getIsVirtual() !== 'Yes') {
                 $this->_rootElement->find(sprintf($this->allowGiftOptions, $product->getName()), Locator::SELECTOR_XPATH)->click();
                 $giftMessageForm = $this->blockFactory->create('Magento\\GiftMessage\\Test\\Block\\Cart\\GiftOptions\\GiftMessageForm', ['element' => $this->_rootElement->find(sprintf($this->giftMessageItemForm, $product->getName()), Locator::SELECTOR_XPATH)]);
                 $giftMessageForm->fill($giftMessage);
                 $this->_rootElement->find($this->giftMessageItemButton)->click();
                 $this->waitForElementVisible(sprintf($this->giftMessageSummary, $product->getName()), Locator::SELECTOR_XPATH);
             }
         }
     }
 }
 /**
  * Fill gift message form on item level
  *
  * @param GiftMessage $giftMessage
  * @param array $products
  * @return void
  */
 public function fillGiftMessageItem(GiftMessage $giftMessage, $products = [])
 {
     /** @var \Magento\GiftMessage\Test\Block\Cart\GiftOptions\GiftMessageForm $giftMessageForm */
     if ($giftMessage->getAllowGiftOptionsForItems() === 'Yes') {
         foreach ($products as $product) {
             if ($product->getProductHasWeight() == 'Yes') {
                 $this->_rootElement->find(sprintf($this->allowGiftOptions, $product->getName()), Locator::SELECTOR_XPATH)->click();
                 $giftMessageForm = $this->blockFactory->create('Magento\\GiftMessage\\Test\\Block\\Cart\\GiftOptions\\GiftMessageForm', ['element' => $this->_rootElement->find($this->giftMessageItemForm)]);
                 $giftMessage = $giftMessage->getItems()[0];
                 $formData = ['sender' => $giftMessage->getSender(), 'recipient' => $giftMessage->getRecipient(), 'message' => $giftMessage->getMessage()];
                 $formData = $this->fixtureFactory->createByCode('giftMessage', ['data' => $formData]);
                 $giftMessageForm->fill($formData);
                 $this->_rootElement->find($this->giftMessageItemButton)->click();
                 $this->waitForElementVisible(sprintf($this->giftMessageSummary, $product->getName()), Locator::SELECTOR_XPATH);
             }
         }
     }
 }