From 0f836d7751cd0d86c450b1561ef2df5f26632bc7 Mon Sep 17 00:00:00 2001 From: Farhad Hedayatifard Date: Mon, 28 Oct 2024 22:24:40 +0330 Subject: [PATCH] [Mailer] Add AhaSend Bridge --- Exception/UnsupportedSchemeException.php | 4 ++++ Tests/Exception/UnsupportedSchemeExceptionTest.php | 3 +++ Transport.php | 2 ++ 3 files changed, 9 insertions(+) diff --git a/Exception/UnsupportedSchemeException.php b/Exception/UnsupportedSchemeException.php index 5f25c8a..2239208 100644 --- a/Exception/UnsupportedSchemeException.php +++ b/Exception/UnsupportedSchemeException.php @@ -20,6 +20,10 @@ class UnsupportedSchemeException extends LogicException { private const SCHEME_TO_PACKAGE_MAP = [ + 'ahasend' => [ + 'class' => Bridge\AhaSend\Transport\AhaSendTransportFactory::class, + 'package' => 'symfony/ahasend-mailer', + ], 'azure' => [ 'class' => Bridge\Azure\Transport\AzureTransportFactory::class, 'package' => 'symfony/azure-mailer', diff --git a/Tests/Exception/UnsupportedSchemeExceptionTest.php b/Tests/Exception/UnsupportedSchemeExceptionTest.php index b4d00dd..bfd1cb4 100644 --- a/Tests/Exception/UnsupportedSchemeExceptionTest.php +++ b/Tests/Exception/UnsupportedSchemeExceptionTest.php @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Bridge\PhpUnit\ClassExistsMock; +use Symfony\Component\Mailer\Bridge\AhaSend\Transport\AhaSendTransportFactory; use Symfony\Component\Mailer\Bridge\Amazon\Transport\SesTransportFactory; use Symfony\Component\Mailer\Bridge\Azure\Transport\AzureTransportFactory; use Symfony\Component\Mailer\Bridge\Brevo\Transport\BrevoTransportFactory; @@ -43,6 +44,7 @@ public static function setUpBeforeClass(): void { ClassExistsMock::register(__CLASS__); ClassExistsMock::withMockedClasses([ + AhaSendTransportFactory::class => false, AzureTransportFactory::class => false, BrevoTransportFactory::class => false, GmailTransportFactory::class => false, @@ -79,6 +81,7 @@ public function testMessageWhereSchemeIsPartOfSchemeToPackageMap(string $scheme, public static function messageWhereSchemeIsPartOfSchemeToPackageMapProvider(): \Generator { + yield ['ahasend', 'symfony/ahasend-mailer']; yield ['azure', 'symfony/azure-mailer']; yield ['brevo', 'symfony/brevo-mailer']; yield ['gmail', 'symfony/google-mailer']; diff --git a/Transport.php b/Transport.php index 026e033..370f692 100644 --- a/Transport.php +++ b/Transport.php @@ -13,6 +13,7 @@ use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Log\LoggerInterface; +use Symfony\Component\Mailer\Bridge\AhaSend\Transport\AhaSendTransportFactory; use Symfony\Component\Mailer\Bridge\Amazon\Transport\SesTransportFactory; use Symfony\Component\Mailer\Bridge\Azure\Transport\AzureTransportFactory; use Symfony\Component\Mailer\Bridge\Brevo\Transport\BrevoTransportFactory; @@ -52,6 +53,7 @@ final class Transport { private const FACTORY_CLASSES = [ + AhaSendTransportFactory::class, AzureTransportFactory::class, BrevoTransportFactory::class, GmailTransportFactory::class,