10 use Magento\Catalog\Test\Page\Product\CatalogProductView;
11 use Magento\Checkout\Test\Page\CheckoutCart;
12 use Magento\Mtf\Client\BrowserInterface;
13 use Magento\Mtf\Constraint\AbstractConstraint;
14 use Magento\Mtf\Fixture\InjectableFixture;
36 BrowserInterface $browser,
38 CatalogProductView $catalogProductView,
40 array $promotedProducts =
null 42 if (!$promotedProducts) {
43 $promotedProducts =
$product->hasData(
'cross_sell_products')
44 ?
$product->getDataFieldConfig(
'cross_sell_products')[
'source']->getProducts()
48 $checkoutCart->open();
49 $checkoutCart->getCartBlock()->clearShoppingCart();
51 $browser->open($_ENV[
'app_frontend_url'] .
$product->getUrlKey() .
'.html');
52 $catalogProductView->getViewBlock()->addToCart(
$product);
53 $catalogProductView->getMessagesBlock()->waitSuccessMessage();
54 $checkoutCart->open();
55 foreach ($promotedProducts as $promotedProduct) {
56 \PHPUnit\Framework\Assert::assertFalse(
57 $checkoutCart->getCrosssellBlock()->getProductItem($promotedProduct)->isVisible(),
58 'Product \'' . $promotedProduct->getName() .
'\' exists in cross-sell section.
' 68 public function toString() 70 return 'Product is not displayed in cross-sell section.
';
processAssert(BrowserInterface $browser, CatalogProductSimple $product, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, array $promotedProducts=null)