wantTo('Open subscribers listings page'); (new Subscriber()) ->withEmail('wp@example.com') ->create(); $i->login(); $i->amOnMailpoetPage('Subscribers'); $i->searchFor('wp@example.com'); $i->waitForText('wp@example.com'); } public function sendConfirmationEmail(\AcceptanceTester $i) { $i->wantTo('Send confirmation email'); $disallowedEmail = 'disallowed@example.com'; $allowedEmail = 'allowed@example.com'; $subscriberResendDisallowed = (new Subscriber()) ->withEmail($disallowedEmail) ->withStatus('unconfirmed') ->withCountConfirmations(ConfirmationEmailMailer::MAX_CONFIRMATION_EMAILS) ->create(); $subscriberResendAllowed = (new Subscriber()) ->withEmail($allowedEmail) ->withStatus('unconfirmed') ->withCountConfirmations(0) ->create(); $i->login(); $i->amOnMailpoetPage('Subscribers'); $i->waitForText($disallowedEmail); $i->moveMouseOver(['xpath' => '//*[text()="' . $disallowedEmail . '"]//ancestor::tr']); $i->dontSee('Resend confirmation email', '//*[text()="' . $disallowedEmail . '"]//ancestor::tr'); $i->clickItemRowActionByItemName($allowedEmail, 'Resend confirmation email'); $i->waitForText('1 confirmation email has been sent.'); $i->checkEmailWasReceived('Confirm your subscription'); } public function bulkUnsubscribe(\AcceptanceTester $i) { $i->wantTo('Unsubscribe subscribers using a bulk action'); $i->wantTo('Setup data'); $subscriber1 = (new Subscriber()) ->withEmail('subscriber1@example.com') ->withStatus('subscribed') ->create(); $subscriber2 = (new Subscriber()) ->withEmail('subscriber2@example.com') ->withStatus('subscribed') ->create(); $subscriber3 = (new Subscriber()) ->withEmail('subscriber3@example.com') ->withStatus('subscribed') ->create(); $subscriber4 = (new Subscriber()) ->withEmail('subscriber4@example.com') ->withStatus('subscribed') ->create(); $i->login(); $i->amOnMailpoetPage('Subscribers'); $i->wantTo('Select first two subscribers and unsubscribe them'); $i->waitForText('subscriber1@example.com'); $i->click("[data-automation-id='listing-row-checkbox-$subscriber1->id']"); $i->click("[data-automation-id='listing-row-checkbox-$subscriber2->id']"); $i->waitForElement("[data-automation-id='action-unsubscribe']"); $i->click("[data-automation-id='action-unsubscribe']"); $i->wantTo('Confirm the action in the modal window'); $i->waitForElement("[data-automation-id='bulk-unsubscribe-confirm']"); $i->click("[data-automation-id='bulk-unsubscribe-confirm']"); $i->wantTo('Check the final status'); $i->waitForText('subscriber2@example.com'); $i->waitForText('Unsubscribed', 10, "[data-automation-id='listing_item_$subscriber1->id']"); $i->waitForText('Unsubscribed', 10, "[data-automation-id='listing_item_$subscriber2->id']"); $i->waitForText('Subscribed', 10, "[data-automation-id='listing_item_$subscriber3->id']"); $i->waitForText('Subscribed', 10, "[data-automation-id='listing_item_$subscriber4->id']"); $i->dontSee('Unsubscribed', "[data-automation-id='listing_item_$subscriber3->id']"); $i->dontSee('Unsubscribed', "[data-automation-id='listing_item_$subscriber4->id']"); } }