consensus/behat-mailpit-extension

Behat Mailpit Extension

dev-main 2025-06-06 16:04 UTC

This package is not auto-updated.

Last update: 2025-06-07 02:47:26 UTC


README

composer require consensus/behat-mailpit-extension

Note that this package depends on Guzzle and the Mink extension.

Example scenario, showing some of the capabilities

This is just an example and doesn't show all the provided step definitions.

  Scenario: User registration
    Given I am not logged in
      And I reset Mailpit
     When I am on the homepage
      And I click "Create new account"
     When I enter "user@example.com" for "Email address"
      And I press "Create new account"
     Then there is 1 email to "user@example.com"
    Given I wait for my "user@example.com" account to be approved
     Then there are 2 emails to "user@example.com"
      And the email to "user@example.com" with the subject matching "Account details for user@example.com" contains the text:
      """
      You may now log in by clicking this link
      """

MailpitExtension

Support for asserting against emails in Mailpit.

Uses the Mailpit v1 API.

Usage

Enabling the Extension

Enabling the extension, using the default Mailpit base URL of http://localhost:8025:

behat.yml

default:
  extensions:
    Consensus\Behat\MailpitExtension: ~

Enabling the extension, setting a specific base URL:

default:
  extensions:
    Consensus\Behat\MailpitExtension: ~
      base_url: http://example.com:8025

Enabling the context

Note that you need to enable the extension to be able to use the context and its added step definitions.

behat.yml

default:
  suites:
    default:
      contexts:
        - Consensus\Behat\MailpitExtension\Context\MailpitContext