diff --git a/src/Symfony/Component/Mailer/Bridge/Sweego/Tests/Transport/SweegoApiTransportTest.php b/src/Symfony/Component/Mailer/Bridge/Sweego/Tests/Transport/SweegoApiTransportTest.php index 4a39ebdb71ea7..3f943ed3467f2 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sweego/Tests/Transport/SweegoApiTransportTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Sweego/Tests/Transport/SweegoApiTransportTest.php @@ -110,6 +110,9 @@ public function testSend() $this->assertSame('https://api.sweego.io:8984/send', $url); $this->assertStringContainsString('Accept: */*', $options['headers'][2] ?? $options['request_headers'][1]); + $payload = json_decode($options['body'], true); + $this->assertSame('email', $payload['channel']); + return new JsonMockResponse(['transaction_id' => 'foobar'], [ 'http_code' => 200, ]); diff --git a/src/Symfony/Component/Mailer/Bridge/Sweego/Transport/SweegoApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Sweego/Transport/SweegoApiTransport.php index b25b7e5b725a6..8430fb4fca29f 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sweego/Transport/SweegoApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Sweego/Transport/SweegoApiTransport.php @@ -90,6 +90,7 @@ private function getPayload(Email $email, Envelope $envelope): array 'from' => $this->formatAddress($envelope->getSender()), 'subject' => $email->getSubject(), 'campaign-type' => 'transac', + 'channel' => 'email', ]; if ($email->getTextBody()) { diff --git a/src/Symfony/Component/Notifier/Bridge/Sweego/Tests/SweegoTransportTest.php b/src/Symfony/Component/Notifier/Bridge/Sweego/Tests/SweegoTransportTest.php index bed8c22fb36ca..35d86d7793707 100644 --- a/src/Symfony/Component/Notifier/Bridge/Sweego/Tests/SweegoTransportTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Sweego/Tests/SweegoTransportTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Notifier\Bridge\Sweego\Tests; use Symfony\Component\HttpClient\MockHttpClient; +use Symfony\Component\HttpClient\Response\JsonMockResponse; use Symfony\Component\Notifier\Bridge\Sweego\SweegoTransport; use Symfony\Component\Notifier\Exception\UnsupportedMessageTypeException; use Symfony\Component\Notifier\Message\ChatMessage; @@ -68,4 +69,22 @@ public function testSendWithInvalidMessageType() $message = $this->createMock(MessageInterface::class); $transport->send($message); } + + public function testSendSmsMessage() + { + $client = new MockHttpClient(function ($method, $url, $options) { + $this->assertSame('POST', $method); + $this->assertSame('https://api.sweego.io/send', $url); + + $body = json_decode($options['body'], true); + $this->assertSame('sms', $body['channel']); + + return new JsonMockResponse(['swg_uids' => ['123']]); + }); + + $transport = self::createTransport($client); + $sentMessage = $transport->send(new SmsMessage('0611223344', 'Hello!')); + + $this->assertSame('123', $sentMessage->getMessageId()); + } }