PHP → Codeception + MailHog

24.09.2024

Установка и настройка codeception модуля для работы с MailHog:

1. Идём на packagist.org и ставим подходящий форк Codeception модуля для работы с MailHog. Какие-то заброшены, а у каких-то неподходящие зависимости. Мне для Drupal 10.3 подошёл oqq/codeception-email-mailhog:

composer require oqq/codeception-email-mailhog:* --dev

2. В Acceptance.suite.yml включаем модуль и прописываем настройки:

modules:
    enabled:
        ...
        - MailHog:
            url: 'http://localhost'
            port: '8025'
            
extensions:
    enabled:
        - Codeception\Extension\RunProcess:
            ...
            - '/path/to/mailhog.exe'

3. Ребилдим codeception:

vendor/bin/codecept build

4. Пользуемся новыми методами в тесте:

public function testFeedbackFormSendEmailToAdmin(AcceptanceTester $I): void {
  $I->deleteAllEmails();
  $I->amOnPage('/contact/feedback');
  $I->fillField('name', 'Иван');
  $I->fillField('message[0][value]', 'Как дела?');
  $I->click('.feedback-form .form-submit');

  $I->fetchEmails();
  $I->haveEmails();
  $I->haveUnreadEmails();
  $I->openNextUnreadEmail();
  $I->seeInOpenedEmailSubject('Обратная связь');
  $I->dontHaveUnreadEmails();
}
Написанное актуально для
Codeception 5
Похожие записи

Добавить комментарий