ahmedsamy / codeception-smtp-mail
Test emails in your Codeception acceptance tests
Installs: 169 109
Dependents: 1
Suggesters: 0
Security: 0
Stars: 11
Watchers: 2
Forks: 15
Open Issues: 3
Requires
- php-imap/php-imap: ~2.0
README
Installation
$ composer require ahmedsamy/codeception-smtp-mail
Configuration
in acceptance.yml
modules: enabled: - Smtp: username: name@email.com password: password
Build codeception
$ bin/codecept build
Available methods
seeEmail($criteria)
canSeeEmail($criteria)
seeEmail($criteria)
cantSeeEmail($criteria)
dontSeeEmail($criteria)
openEmail($criteria)
grabEmail()
grabLinkFromEmail($url)
clickInEmail($url)
canSeeLinkInEmail($url)
seeLinkInEmail($url)
cantSeeLinkInEmail($url)
dontSeeLinkInEmail($url)
canSeeEmailAttachmentsCount($count)
canSeeEmailAttachment($name)
countEmailsByCriteria($criteria)
- $criteria is according to imap syntax, see http://php.net/manual/en/function.imap-search.php
Examples
Checking email with subject and date
$I->seeEmailBy('SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"'); $I->canSeeEmail('SUBJECT "Welcome Email"'); $I->openEmail('SUBJECT "Open me"'); $I->canSeeEmail('SUBJECT "good words"'); $I->seeLinkInEmail('http://google.com/awesome'); $I->clickInEmail("http://google.com/awesome"); $I->grabLinkFromEmail("http://google.com/awesome"); $I->canSeeEmailAttachmentsCount(2); $I->canSeeEmailAttachment('contract.pdf'); //accepts full file name or part of it
Configuration reference
Smtp: username: username@domain.com #required password: password123 #required imap_path: {imap.gmail.com:993/imap/ssl}INBOX #imap path defaults to gmail config wait_interval: 1 #waiting interval between trials in seconds retry_counts: 3 # how many trials till attachments_dir: tests/_data #where email attachments are stored auto_clear_attachments: true #whether to clear attachments folder every run or not
###TODOs
- Write tests
- Add travis.yml