activateWooCommerce(); $this->settingsFactory = new Settings(); $this->settingsFactory->withWooCommerceListImportPageDisplayed(true); $this->settingsFactory->withWooCommerceCheckoutOptinEnabled(); $this->settingsFactory->withCronTriggerMethod('WordPress'); } public function sendFirstPurchaseEmail(\AcceptanceTester $i) { $i->wantTo('Send a "First purchase email"'); $productName = 'First Purchase Product'; $productFactory = new WooCommerceProduct($i); $product = $productFactory->withName($productName)->create(); $emailSubject = 'First Purchase Test'; $newsletterFactory = new Newsletter(); $newsletterFactory ->withSubject($emailSubject) ->withAutomaticTypeWooCommerceFirstPurchase() ->withActiveStatus() ->create(); $userEmail = 'user@email.test'; $i->orderProduct($product, $userEmail); $i->amOnMailboxAppPage(); $i->waitForText($emailSubject, 20); $i->click(Locator::contains('span.subject', $emailSubject)); $i->waitForText($userEmail, 20); } public function doNotSendFirstPurchaseEmailIfUserHasNotOptedIn(\AcceptanceTester $i) { $i->wantTo('Buy a product, do not opt-in and don\'t receive a "First purchase email"'); $productName = 'First Purchase Product'; $productFactory = new WooCommerceProduct($i); $product = $productFactory->withName($productName)->create(); $emailSubject = 'First Purchase Test 2'; $newsletterFactory = new Newsletter(); $newsletterFactory ->withSubject($emailSubject) ->withAutomaticTypeWooCommerceFirstPurchase() ->withActiveStatus() ->create(); $userEmail = 'user3@email.test'; $i->orderProduct($product, $userEmail, true, false); $i->amOnMailboxAppPage(); $i->dontSee($emailSubject); $i->dontSee($userEmail); } }