Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertGiftMessageInFrontendOrderItems.php
Go to the documentation of this file.
1 <?php
8 
12 use Magento\Sales\Test\Page\OrderHistory;
13 use Magento\Sales\Test\Page\CustomerOrderView;
14 use Magento\Mtf\Constraint\AbstractConstraint;
15 
20 class AssertGiftMessageInFrontendOrderItems extends AbstractConstraint
21 {
34  public function processAssert(
35  GiftMessage $giftMessage,
36  Customer $customer,
37  OrderHistory $orderHistory,
38  CustomerOrderView $customerOrderView,
39  CustomerAccountLogout $customerAccountLogout,
40  $orderId,
41  $products = []
42  ) {
43  $this->objectManager->create(
44  \Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class,
45  ['customer' => $customer]
46  )->run();
47 
48  $expectedData = [
49  'sender' => $giftMessage->getSender(),
50  'recipient' => $giftMessage->getRecipient(),
51  'message' => $giftMessage->getMessage(),
52  ];
53  $orderHistory->open();
54  $orderHistory->getOrderHistoryBlock()->openOrderById($orderId);
55 
56  foreach ($giftMessage->getItems() as $key => $itemGiftMessage) {
57  $product = $products[$key];
58  if ($giftMessage->hasData('items')) {
59  $expectedData = [
60  'sender' => $itemGiftMessage->getSender(),
61  'recipient' => $itemGiftMessage->getRecipient(),
62  'message' => $itemGiftMessage->getMessage(),
63  ];
64  }
65  if ($product->getProductHasWeight() !== 'This item has weight') {
66  $expectedData = [];
67  }
68 
69  \PHPUnit\Framework\Assert::assertEquals(
70  $expectedData,
71  $customerOrderView->getGiftMessageForItemBlock()->getGiftMessage($product->getName()),
72  'Wrong gift message is displayed on "' . $product->getName() . '" item.'
73  );
74  }
75  $customerAccountLogout->open();
76  }
77 
83  public function toString()
84  {
85  return "Gift message is displayed for each items on order(s) view page on frontend correctly.";
86  }
87 }
processAssert(GiftMessage $giftMessage, Customer $customer, OrderHistory $orderHistory, CustomerOrderView $customerOrderView, CustomerAccountLogout $customerAccountLogout, $orderId, $products=[])
$customer
Definition: customers.php:11
$giftMessage
Definition: items.phtml:47