28 lines
939 B
PHP
28 lines
939 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
use App\Services\Sms\Providers\FakeSmsProvider;
|
||
|
|
use App\Services\Sms\SmsOutgoing;
|
||
|
|
|
||
|
|
it('заглушка обслуживает любого оператора', function () {
|
||
|
|
expect((new FakeSmsProvider)->servesOperators())->toBe(['*']);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('заглушка ничего не стоит — деньги не должны утекать в песочнице', function () {
|
||
|
|
expect((new FakeSmsProvider)->priceKopecks('ВымпелКом'))->toBe(0);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('заглушка возвращает опознаваемый идентификатор', function () {
|
||
|
|
$result = (new FakeSmsProvider)->send(new SmsOutgoing(
|
||
|
|
phone: '79990000001',
|
||
|
|
body: 'проверка',
|
||
|
|
senderName: 'liderra.ru',
|
||
|
|
operator: 'МТС',
|
||
|
|
segments: 1,
|
||
|
|
));
|
||
|
|
|
||
|
|
expect($result->providerMessageId)->toStartWith('fake-')
|
||
|
|
->and($result->costKopecks)->toBe(0);
|
||
|
|
});
|