/** * Check that checkbox is present on the last checkout step - Order Review. * Check that after Place order without click on checkbox "Terms and Conditions" order was not successfully placed. * Check that after clicking on "Terms and Conditions" checkbox and "Place Order" button success place order message * appears. * * @param ObjectManager $objectManager * @param string $products * @param CheckoutOnepage $checkoutOnepage * @param CheckoutOnepageSuccess $checkoutOnepageSuccess * @param AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage * @param array $shipping * @param array $payment * @param CheckoutAgreement $agreement * @return void */ public function processAssert(ObjectManager $objectManager, $products, CheckoutOnepage $checkoutOnepage, CheckoutOnepageSuccess $checkoutOnepageSuccess, AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage, $shipping, $payment, CheckoutAgreement $agreement) { $paymentBlock = $checkoutOnepage->getPaymentBlock(); $shippingAddressData = ['shippingAddress' => ['dataSet' => 'US_address_1']]; $productsData = ['products' => $products]; $shippingMethodData = ['shipping' => $shipping]; $paymentData = ['payment' => $payment]; $products = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', $productsData)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\AddProductsToTheCartStep', $products)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\ProceedToCheckoutStep')->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\FillShippingAddressStep', $shippingAddressData)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\FillShippingMethodStep', $shippingMethodData)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\SelectPaymentMethodStep', $paymentData)->run(); $paymentBlock->getSelectedPaymentMethodBlock()->clickPlaceOrder(); \PHPUnit_Framework_Assert::assertEquals(self::NOTIFICATION_MESSAGE, $checkoutOnepage->getAgreementReview()->getNotificationMassage(), 'Notification required message of Terms and Conditions is absent.'); $checkoutOnepage->getAgreementReview()->setAgreement('Yes', $agreement); $paymentBlock->getSelectedPaymentMethodBlock()->clickPlaceOrder(); $assertOrderSuccessPlacedMessage->processAssert($checkoutOnepageSuccess); }
/** * Check that checkbox is present on the last checkout step - Order Review. * Check that after Place order without click on checkbox "Terms and Conditions" order was not successfully placed. * Check that after clicking on "Terms and Conditions" checkbox and "Place Order" button success place order message * appears. * * @param FixtureFactory $fixtureFactory * @param ObjectManager $objectManager * @param string $product * @param BrowserInterface $browser * @param CatalogProductView $catalogProductView * @param CheckoutCart $checkoutCart * @param CheckoutOnepage $checkoutOnepage * @param CheckoutOnepageSuccess $checkoutOnepageSuccess * @param AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage * @param array $shipping * @param array $payment * @return void * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function processAssert(FixtureFactory $fixtureFactory, ObjectManager $objectManager, $product, BrowserInterface $browser, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, CheckoutOnepage $checkoutOnepage, CheckoutOnepageSuccess $checkoutOnepageSuccess, AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage, $shipping, $payment) { $createProductsStep = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', ['products' => $product]); $product = $createProductsStep->run(); $billingAddress = $fixtureFactory->createByCode('address', ['dataset' => 'default']); $browser->open($_ENV['app_frontend_url'] . $product['products'][0]->getUrlKey() . '.html'); $catalogProductView->getViewBlock()->clickAddToCartButton(); $catalogProductView->getMessagesBlock()->waitSuccessMessage(); $checkoutCart->open(); $checkoutCart->getCartBlock()->getOnepageLinkBlock()->proceedToCheckout(); $checkoutOnepage->getLoginBlock()->clickContinue(); $checkoutOnepage->getBillingBlock()->fill($billingAddress); $checkoutOnepage->getBillingBlock()->clickContinue(); $checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shipping); $checkoutOnepage->getShippingMethodBlock()->clickContinue(); $checkoutOnepage->getPaymentBlock()->selectPaymentMethod($payment); $checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); \PHPUnit_Framework_Assert::assertEquals(self::NOTIFICATION_MESSAGE, $checkoutOnepage->getAgreementReview()->getNotificationMassage(), 'Notification required message of Terms and Conditions is absent.'); $checkoutOnepage->getAgreementReview()->setAgreement('Yes'); $checkoutOnepage->getAgreementReview()->placeOrder(); $assertOrderSuccessPlacedMessage->processAssert($checkoutOnepageSuccess); }
/** * Verify Terms and Conditions checkbox is absent on checkout page. * * @param ObjectManager $objectManager * @param $products * @param CheckoutOnepage $checkoutOnepage * @param $shipping * @param $payment * @param CheckoutAgreement $agreement * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function processAssert(ObjectManager $objectManager, $products, CheckoutOnepage $checkoutOnepage, $shipping, $payment, CheckoutAgreement $agreement) { $shippingAddressData = ['shippingAddress' => ['dataSet' => 'US_address_1']]; $productsData = ['products' => $products]; $shippingMethodData = ['shipping' => $shipping]; $paymentData = ['payment' => $payment]; $products = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', $productsData)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\AddProductsToTheCartStep', $products)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\ProceedToCheckoutStep')->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\FillShippingAddressStep', $shippingAddressData)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\FillShippingMethodStep', $shippingMethodData)->run(); $objectManager->create('Magento\\Checkout\\Test\\TestStep\\SelectPaymentMethodStep', $paymentData)->run(); \PHPUnit_Framework_Assert::assertFalse($checkoutOnepage->getAgreementReview()->checkAgreement($agreement), 'Checkout Agreement \'' . $agreement->getName() . '\' is present in the Place order step.'); }
/** * Place order and verify there is no checkbox Terms and Conditions. * * @param FixtureFactory $fixtureFactory * @param ObjectManager $objectManager * @param string $product * @param BrowserInterface $browser * @param CatalogProductView $catalogProductView * @param CheckoutCart $checkoutCart * @param CheckoutOnepage $checkoutOnepage * @param CheckoutAgreement $agreement * @param array $shipping * @param array $payment * @return void * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function processAssert(FixtureFactory $fixtureFactory, ObjectManager $objectManager, $product, BrowserInterface $browser, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, CheckoutOnepage $checkoutOnepage, CheckoutAgreement $agreement, $shipping, $payment) { $createProductsStep = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', ['products' => $product]); $product = $createProductsStep->run(); $billingAddress = $fixtureFactory->createByCode('address', ['dataset' => 'default']); $browser->open($_ENV['app_frontend_url'] . $product['products'][0]->getUrlKey() . '.html'); $catalogProductView->getViewBlock()->clickAddToCartButton(); $catalogProductView->getMessagesBlock()->waitSuccessMessage(); $checkoutCart->open(); $checkoutCart->getCartBlock()->getOnepageLinkBlock()->proceedToCheckout(); $checkoutOnepage->getLoginBlock()->clickContinue(); $checkoutOnepage->getBillingBlock()->fill($billingAddress); $checkoutOnepage->getBillingBlock()->clickContinue(); $checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shipping); $checkoutOnepage->getShippingMethodBlock()->clickContinue(); $checkoutOnepage->getPaymentBlock()->selectPaymentMethod($payment); \PHPUnit_Framework_Assert::assertFalse($checkoutOnepage->getAgreementReview()->checkAgreement($agreement), 'Checkout Agreement \'' . $agreement->getName() . '\' is present in the Place order step.'); }