From d3bfa6fae23ca1aef2d77f93e45d2898d4893b00 Mon Sep 17 00:00:00 2001 From: Veljko V Date: Tue, 25 Aug 2020 13:55:45 +0200 Subject: [PATCH] Add new scenario of not-opting to receive email [MAILPOET-3114](https://mailpoet.atlassian.net/browse/MAILPOET-3114) --- .../SendCategoryPurchaseEmailCest.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/acceptance/SendCategoryPurchaseEmailCest.php b/tests/acceptance/SendCategoryPurchaseEmailCest.php index 18b9fb591b..04361c37c7 100644 --- a/tests/acceptance/SendCategoryPurchaseEmailCest.php +++ b/tests/acceptance/SendCategoryPurchaseEmailCest.php @@ -46,4 +46,31 @@ class SendCategoryPurchaseEmailCest { $i->click(Locator::contains('span.subject', $emailSubject)); $i->waitForText($userEmail, 20); } + + public function doNotSendCategoryPurchaseEmail(\AcceptanceTester $i) { + $i->wantTo('Buy a product in category and do not receive a "Purchased In This Category" email'); + + $productName = 'Category Purchase Test Product'; + $productFactory = new WooCommerceProduct($i); + $categoryId = $productFactory->createCategory('Category 1'); + $product = $productFactory + ->withName($productName) + ->withCategoryIds([$categoryId]) + ->create(); + + $emailSubject = 'Product In Category Purchase Test'; + $newsletterFactory = new Newsletter(); + $newsletterFactory + ->withSubject($emailSubject) + ->withAutomaticTypeWooCommerceProductInCategoryPurchased([$product]) + ->withActiveStatus() + ->create(); + + $userEmail = Security::generateRandomString() . '-user@email.example'; + $i->orderProduct($product, $userEmail, true, false); + + $i->amOnMailboxAppPage(); + $i->dontSee($emailSubject); + $i->dontSee($userEmail); + } }