mailcare / codeception-module-mailcare
MailCare module for Codeception
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/mailcare/codeception-module-mailcare
Requires
- php: ^7.2
- codeception/codeception: ^4.0
Requires (Dev)
- codeception/util-universalframework: ^1.0
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2025-10-29 02:56:38 UTC
README
MailCare module for Codeception
Installation
composer require "mailcare/codeception-module-mailcare"
Documentation
Module for testing receiving emails using MailCare.
Configuration
- url optional - API url of your mailcare server (default: https://mailix.xyz/api)
- login optional - login of your mailcare server
- password optional - password of your mailcare server
- timeoutInSeconds optional - Waits up to n seconds for an email to be received (default: 30 seconds)
Example
modules:
enabled
- MailCare:
url: 'https://mailix.xyz/api'
login: 'https://mailix.xyz/api'
password: 'https://mailix.xyz/api'
Criterias
inboxFilter by inbox (test@example.com).senderFilter by sender (test@example.com).subjectFilter by subject (Welcome).sinceFilter by createdAt (2018-01-19T12:23:27+00:00 or ISO 8601 durations).searchSearch by inbox or sender or subject (matching).unreadFilter only by unread (true).favoriteFilter only by favorite (true).
All criterias can be found in the API Documentation of MailCare except for page and limit.
Examples of since with ISO 8601 durations:
- P1D: one-day duration
- PT1M: one-minute duration (note the time designator, T, that precedes the time value)
Actions
seeEmailCount
Checks that the email count equals expected value. Waits up to $timeout seconds for the given email to be received.
$I->seeEmailCount(2, [ 'inbox' => 'john@example.org', 'sender' => 'no-reply@company.com', 'subject' => 'Welcome John!', 'since' => 'PT2M', ], 30);
param int$expectedCountparam array$criteriasparam int$timeoutInSeconds (optional)
seeEmail
Checks that the given email exists. Waits up to $timeout seconds for the given email to be received.
$I->seeEmail([ 'inbox' => 'john@example.org', 'sender' => 'no-reply@company.com', 'subject' => 'Welcome John!', 'since' => 'PT2M', ], 30);
param array$criteriasparam int$timeoutInSeconds (optional)
dontSeeEmail
Opposite to seeEmail.
$I->dontSeeEmail([ 'inbox' => 'john@example.org', 'since' => 'PT2M', ], 30);
param array$criteriasparam int$timeoutInSeconds (optional)
grabLinksInLastEmail
In the last email, grabs all the links Waits up to $timeout seconds for the given email to be received.
$I->grabLinksInLastEmail([ 'inbox' => 'john@example.org', 'since' => 'PT2M', ], 30);
param array$criteriasparam int$timeoutInSeconds (optional)return array['https://google.fr', 'https://mailcare.io']
grabTextInLastEmail
In the last email, grabs all the text corresponding to a regex. Waits up to $timeout seconds for the given email to be received.
$I->grabTextInLastEmail('#Password: (?<password>\S+)#', [ 'inbox' => 'john@example.org', 'subject' => 'Your credentials', 'since' => 'PT2M', ], 30);
param string$regexparam array$criteriasparam int$timeoutInSeconds (optional)return arraymatches from preg_match_all