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$expectedCount
- param array$criterias
- param 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$criterias
- param int$timeoutInSeconds (optional)
dontSeeEmail
Opposite to seeEmail.
$I->dontSeeEmail([ 'inbox' => 'john@example.org', 'since' => 'PT2M', ], 30);
- param array$criterias
- param 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$criterias
- param 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$regex
- param array$criterias
- param int$timeoutInSeconds (optional)
- return arraymatches from preg_match_all