Files
RelaisSMS/tests/Unit/OvhShortCodeMessageTest.php
T

31 lines
1.5 KiB
PHP

<?php
namespace Tests\Unit;
use App\Services\Sms\OvhShortCodeMessage;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class OvhShortCodeMessageTest extends TestCase
{
#[DataProvider('messages')]
public function test_it_removes_links_and_preserves_useful_text(string $input, string $expected): void
{
$this->assertSame($expected, (new OvhShortCodeMessage)->prepare($input));
}
public static function messages(): array
{
return [
'production reminder' => ["Rappel : Réunion Communication\n30/09/2026 10:00\nParticiper à la réunion Zoom https://us06web.zoom.us/j/12345 ID de réunion: 123 456", "Rappel : Réunion Communication\n30/09/2026 10:00\nParticiper à la réunion Zoom ID de réunion: 123 456"],
'schemes and www' => ['Voir HTTPS://example.org/x?a=b et www.example.fr/test merci', 'Voir et merci'],
'bare domain' => ['Zoom zoom.us/j/123 puis exemple.fr', 'Zoom puis'],
'markdown' => ['Rejoindre [la réunion](https://zoom.us/j/123)', 'Rejoindre la réunion'],
'html' => ['Rejoindre <a href="https://zoom.us/j/123">la réunion</a>', 'Rejoindre la réunion'],
'email phones and date' => ['Contact prenom.nom@example.fr +33 6 12 34 56 78 le 30.09.2026 à 10:00', 'Contact prenom.nom@example.fr +33 6 12 34 56 78 le 30.09.2026 à 10:00'],
'url only' => ['https://example.org', ''],
'unicode domain' => ['Voir https://exemple.fr/été et réunion.fr/a', 'Voir et'],
];
}
}