Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertTermOnCheckout.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Checkout\Test\Page\CheckoutOnepage;
11 use Magento\Checkout\Test\Page\CheckoutOnepageSuccess;
12 use Magento\Mtf\Constraint\AbstractConstraint;
13 use Magento\Mtf\ObjectManager;
15 
20 class AssertTermOnCheckout extends AbstractConstraint
21 {
25  const NOTIFICATION_MESSAGE = 'This is a required field.';
26 
43  public function processAssert(
44  ObjectManager $objectManager,
45  $products,
46  CheckoutOnepage $checkoutOnepage,
47  CheckoutOnepageSuccess $checkoutOnepageSuccess,
48  AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage,
49  $shipping,
50  $payment,
51  CheckoutAgreement $agreement
52  ) {
53  $paymentBlock = $checkoutOnepage->getPaymentBlock();
54  $shippingAddressData = ['shippingAddress' => ['dataSet' => 'US_address_1']];
55  $productsData = ['products' => $products];
56  $shippingMethodData = ['shipping' => $shipping];
57  $paymentData = ['payment' => $payment];
58 
59  $products = $objectManager->create(
60  \Magento\Catalog\Test\TestStep\CreateProductsStep::class,
62  )->run();
63  $objectManager->create(\Magento\Checkout\Test\TestStep\AddProductsToTheCartStep::class, $products)->run();
64  $objectManager->create(
65  \Magento\Checkout\Test\TestStep\ProceedToCheckoutStep::class
66  )->run();
67  $objectManager->create(
68  \Magento\Checkout\Test\TestStep\FillShippingAddressStep::class,
69  $shippingAddressData
70  )->run();
71  $objectManager->create(
72  \Magento\Checkout\Test\TestStep\FillShippingMethodStep::class,
73  $shippingMethodData
74  )->run();
75  $objectManager->create(\Magento\Checkout\Test\TestStep\SelectPaymentMethodStep::class, $paymentData)->run();
76 
77  $paymentBlock->getSelectedPaymentMethodBlock()->clickPlaceOrder();
78  \PHPUnit\Framework\Assert::assertEquals(
79  self::NOTIFICATION_MESSAGE,
80  $checkoutOnepage->getAgreementReview()->getNotificationMassage(),
81  'Notification required message of Terms and Conditions is absent.'
82  );
83  $checkoutOnepage->getAgreementReview()->setAgreement('Yes', $agreement);
84  $paymentBlock->getSelectedPaymentMethodBlock()->clickPlaceOrder();
85  $assertOrderSuccessPlacedMessage->processAssert($checkoutOnepageSuccess);
86  }
87 
93  public function toString()
94  {
95  return 'Order was placed with checkout agreement successfully.';
96  }
97 }
$objectManager
Definition: bootstrap.php:17
$productsData
Definition: products.php:19
$payment
Definition: order.php:17
processAssert(ObjectManager $objectManager, $products, CheckoutOnepage $checkoutOnepage, CheckoutOnepageSuccess $checkoutOnepageSuccess, AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage, $shipping, $payment, CheckoutAgreement $agreement)