• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rich-id / mailer-bundle / #16

pending completion
#16

push

Dumazeau
Change MessageEventSubscriber logic

5 of 5 new or added lines in 1 file covered. (100.0%)

93 of 112 relevant lines covered (83.04%)

3.46 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

91.67
/src/Infrastructure/EventSubscriber/MessageEventSubscriber.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace RichId\MailerBundle\Infrastructure\EventSubscriber;
6

7
use RichId\MailerBundle\Domain\Updater\BccEmailUpdater;
8
use RichId\MailerBundle\Domain\Updater\BccTransformerEmailUpdater;
9
use RichId\MailerBundle\Domain\Updater\FooterEmailUpdater;
10
use RichId\MailerBundle\Domain\Updater\ReturnPathEmailUpdater;
11
use RichId\MailerBundle\Domain\Updater\SenderEmailUpdater;
12
use RichId\MailerBundle\Domain\Updater\SubjectPrefixEmailUpdater;
13
use RichId\MailerBundle\Domain\Updater\YopmailTransformerEmailUpdater;
14
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
15
use Symfony\Component\Mailer\Event\MessageEvent;
16
use Symfony\Component\Mime\Email;
17
use Symfony\Contracts\Service\Attribute\Required;
18

19
class MessageEventSubscriber implements EventSubscriberInterface
20
{
21
    #[Required]
22
    public BccEmailUpdater $bccEmailUpdater;
23

24
    #[Required]
25
    public FooterEmailUpdater $footerEmailUpdater;
26

27
    #[Required]
28
    public ReturnPathEmailUpdater $returnPathEmailUpdater;
29

30
    #[Required]
31
    public SenderEmailUpdater $senderEmailUpdater;
32

33
    #[Required]
34
    public SubjectPrefixEmailUpdater $subjectPrefixEmailUpdater;
35

36
    #[Required]
37
    public YopmailTransformerEmailUpdater $yopmailTransformerEmailUpdater;
38

39
    #[Required]
40
    public BccTransformerEmailUpdater $bccTransformerEmailUpdater;
41

42
    public function onMessage(MessageEvent $event): void
43
    {
44
        $message = $event->getMessage();
8✔
45

46
        if (!$message instanceof Email) {
8✔
47
            return;
1✔
48
        }
49

50
        ($this->senderEmailUpdater)($message);
7✔
51
        ($this->returnPathEmailUpdater)($message);
7✔
52
        ($this->bccEmailUpdater)($message);
7✔
53
        ($this->footerEmailUpdater)($message);
7✔
54
        ($this->subjectPrefixEmailUpdater)($message);
7✔
55

56
        if ($event->isQueued()) {
7✔
57
            return;
×
58
        }
59

60
        ($this->yopmailTransformerEmailUpdater)($message);
7✔
61
        ($this->bccTransformerEmailUpdater)($message);
7✔
62
    }
63

64
    /** @codeCoverageIgnore */
65
    public static function getSubscribedEvents()
66
    {
67
        return [
68
            MessageEvent::class => 'onMessage',
69
        ];
70
    }
71
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc