This commit is contained in:
Vasilij Dusko 2021-03-28 14:56:09 +03:00 committed by Vasilij Dusko | CREATION
parent 15686c0851
commit a0fae7dc4a
2 changed files with 94 additions and 0 deletions

View File

@ -0,0 +1,47 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Notifier\Bridge\LightSms\Tests;
use Symfony\Component\Notifier\Bridge\LightSms\LightSmsTransportFactory;
use Symfony\Component\Notifier\Test\TransportFactoryTestCase;
use Symfony\Component\Notifier\Transport\TransportFactoryInterface;
final class LightSmsTransportFactoryTest extends TransportFactoryTestCase
{
/**
* @return LightSmsTransportFactory
*/
public function createFactory(): TransportFactoryInterface
{
return new LightSmsTransportFactory();
}
public function createProvider(): iterable
{
yield [
'lightsms://host.test?phone=0611223344',
'lightsms://accountSid:authToken@host.test?phone=0611223344',
];
}
public function supportsProvider(): iterable
{
yield [true, 'lightsms://login:token@default?phone=37061234567'];
yield [false, 'somethingElse://login:token@default?phone=37061234567'];
}
public function unsupportedSchemeProvider(): iterable
{
yield ['somethingElse://accountSid:authToken@default?from=37061234567'];
yield ['somethingElse://accountSid:authToken@default']; // missing "phone" option
}
}

View File

@ -0,0 +1,47 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Notifier\Bridge\LightSms\Tests;
use Symfony\Component\Notifier\Bridge\LightSms\LightSmsTransport;
use Symfony\Component\Notifier\Message\ChatMessage;
use Symfony\Component\Notifier\Message\MessageInterface;
use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Test\TransportTestCase;
use Symfony\Component\Notifier\Transport\TransportInterface;
use Symfony\Contracts\HttpClient\HttpClientInterface;
final class LightSmsTransportTest extends TransportTestCase
{
/**
* @return LightSmsTransport
*/
public function createTransport(?HttpClientInterface $client = null): TransportInterface
{
return new LightSmsTransport('accountSid', 'authToken', 'from', $client ?: $this->createMock(HttpClientInterface::class));
}
public function toStringProvider(): iterable
{
yield ['lightsms://www.lightsms.com/external/get/send.php?phone=from', $this->createTransport()];
}
public function supportedMessagesProvider(): iterable
{
yield [new SmsMessage('0611223344', 'Hello!')];
}
public function unsupportedMessagesProvider(): iterable
{
yield [new ChatMessage('Hello!')];
yield [$this->createMock(MessageInterface::class)];
}
}