diff --git a/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsEmailTransport.php b/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsEmailTransport.php index e83e57a006011..92f0044bc38a0 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsEmailTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsEmailTransport.php @@ -60,14 +60,14 @@ public function supports(MessageInterface $message): bool */ protected function doSend(MessageInterface $message): SentMessage { - if (!$this->supports($message)) { + if (!$message instanceof SmsMessage) { throw new UnsupportedMessageTypeException(__CLASS__, SmsMessage::class, $message); } $email = (new Email()) - ->from($message->getFrom() ?: $this->from) + ->from($this->from) ->to($this->to) - ->subject(sprintf('New SMS on phone number: %s', $message->getPhone())) + ->subject('New SMS to phone number ' . $message->getPhone() . ($message->getFrom() ? ' from ' . $message->getFrom() : '')) ->html($message->getSubject()) ->text($message->getSubject()); diff --git a/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsLoggerTransport.php b/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsLoggerTransport.php index 3747c66ee7012..2a3a9fbf89130 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsLoggerTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeSms/FakeSmsLoggerTransport.php @@ -51,11 +51,11 @@ public function supports(MessageInterface $message): bool */ protected function doSend(MessageInterface $message): SentMessage { - if (!$this->supports($message)) { + if (!$message instanceof SmsMessage) { throw new UnsupportedMessageTypeException(__CLASS__, SmsMessage::class, $message); } - $this->logger->info(sprintf('New SMS on phone number: %s', $message->getPhone())); + $this->logger->info('New SMS to phone number ' . $message->getPhone() . ($message->getFrom() ? ' from ' . $message->getFrom() : '')); return new SentMessage($message, (string) $this); } diff --git a/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsEmailTransportTest.php b/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsEmailTransportTest.php index de3af39c95219..8ef3edc7d031d 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsEmailTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsEmailTransportTest.php @@ -70,7 +70,30 @@ public function testSendWithDefaultTransport() $this->assertInstanceOf(Email::class, $sentEmail); $this->assertSame($to, $sentEmail->getTo()[0]->getEncodedAddress()); $this->assertSame($from, $sentEmail->getFrom()[0]->getEncodedAddress()); - $this->assertSame(sprintf('New SMS on phone number: %s', $phone), $sentEmail->getSubject()); + $this->assertSame(\sprintf('New SMS to phone number %s', $phone), $sentEmail->getSubject()); + $this->assertSame($subject, $sentEmail->getTextBody()); + $this->assertFalse($sentEmail->getHeaders()->has('X-Transport')); + } + + public function testSendWithFrom() + { + $transportName = null; + + $message = new SmsMessage($phone = '0611223344', $subject = 'Hello!', $fromPhone = '0655667788'); + + $mailer = new DummyMailer(); + + $transport = (new FakeSmsEmailTransport($mailer, $to = 'recipient@email.net', $from = 'sender@email.net')); + $transport->setHost($transportName); + + $transport->send($message); + + /** @var Email $sentEmail */ + $sentEmail = $mailer->getSentEmail(); + $this->assertInstanceOf(Email::class, $sentEmail); + $this->assertSame($to, $sentEmail->getTo()[0]->getEncodedAddress()); + $this->assertSame($from, $sentEmail->getFrom()[0]->getEncodedAddress()); + $this->assertSame(\sprintf('New SMS to phone number %s from %s', $phone, $fromPhone), $sentEmail->getSubject()); $this->assertSame($subject, $sentEmail->getTextBody()); $this->assertFalse($sentEmail->getHeaders()->has('X-Transport')); } @@ -93,7 +116,7 @@ public function testSendWithCustomTransport() $this->assertInstanceOf(Email::class, $sentEmail); $this->assertSame($to, $sentEmail->getTo()[0]->getEncodedAddress()); $this->assertSame($from, $sentEmail->getFrom()[0]->getEncodedAddress()); - $this->assertSame(sprintf('New SMS on phone number: %s', $phone), $sentEmail->getSubject()); + $this->assertSame(\sprintf('New SMS to phone number %s', $phone), $sentEmail->getSubject()); $this->assertSame($subject, $sentEmail->getTextBody()); $this->assertTrue($sentEmail->getHeaders()->has('X-Transport')); $this->assertSame($transportName, $sentEmail->getHeaders()->get('X-Transport')->getBody()); diff --git a/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsLoggerTransportTest.php b/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsLoggerTransportTest.php index 4c8ac00ebdc71..c58c7a185a59c 100644 --- a/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsLoggerTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/FakeSms/Tests/FakeSmsLoggerTransportTest.php @@ -61,7 +61,7 @@ public function testSendWithDefaultTransport() $this->assertNotEmpty($logs); $log = $logs[0]; - $this->assertSame(sprintf('New SMS on phone number: %s', $phone), $log['message']); + $this->assertSame(\sprintf('New SMS to phone number %s', $phone), $log['message']); $this->assertSame('info', $log['level']); } }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: