Verified Commit 6833e0e2 authored by Dave Long's avatar Dave Long
Browse files

test: #3576673 Move hooks from mail_cancel_test into the Kernel test

By: dcam
By: sujal kshatri
(cherry picked from commit 783db196)
parent d2525161
Loading
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
name: 'Cancel mail test support'
description: 'Test that the mail can be cancelled.'
type: module
package: Testing
version: VERSION
+0 −28
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

namespace Drupal\mail_cancel_test\Hook;

use Drupal\Core\Hook\Attribute\Hook;

/**
 * Hook implementations for mail_cancel_test.
 */
class MailCancelTestHooks {

  /**
   * Implements hook_mail_alter().
   *
   * Aborts sending of messages with ID 'mail_cancel_test_cancel_test'.
   *
   * @see MailTestCase::testCancelMessage()
   */
  #[Hook('mail_alter')]
  public function mailAlter(&$message): void {
    if ($message['id'] == 'mail_cancel_test_cancel_test') {
      $message['send'] = FALSE;
    }
  }

}
+16 −2
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@

use Drupal\Component\Utility\Random;
use Drupal\Core\File\FileSystemInterface;
use Drupal\Core\Hook\Attribute\Hook;
use Drupal\Core\Mail\MailFormatHelper;
use Drupal\Core\Mail\Plugin\Mail\TestMailCollector;
use Drupal\Core\Messenger\MessengerInterface;
@@ -30,7 +31,6 @@ class MailTest extends KernelTestBase {
   */
  protected static $modules = [
    'file',
    'mail_cancel_test',
    'mail_html_test',
    'system',
    'system_mail_failure_test',
@@ -98,10 +98,24 @@ public function testErrorMessageDisplay(): void {
    $this->assertEmpty(\Drupal::messenger()->messagesByType(MessengerInterface::TYPE_ERROR));
  }

  /**
   * Implements hook_mail_alter().
   *
   * Aborts sending of messages with ID 'mail_cancel_test_cancel_test'.
   *
   * @see ::testCancelMessage()
   */
  #[Hook('mail_alter')]
  public function mailAlter(&$message): void {
    if ($message['id'] == 'mail_cancel_test_cancel_test') {
      $message['send'] = FALSE;
    }
  }

  /**
   * Tests that message sending may be canceled.
   *
   * @see mail_cancel_test_mail_alter()
   * @see ::mailAlter()
   */
  public function testCancelMessage(): void {
    $language_interface = \Drupal::languageManager()->getCurrentLanguage();