Files
orderPRO/tests/Unit/DeliveryStatusTest.php
2026-04-04 18:20:13 +02:00

46 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Unit;
use App\Modules\Shipments\DeliveryStatus;
use PHPUnit\Framework\TestCase;
final class DeliveryStatusTest extends TestCase
{
public function testSlugifyAndNormalizeEnglishAwaitingPickup(): void
{
$slug = DeliveryStatus::slugifyAllegroDescription('Parcel is awaiting pick-up');
$normalized = DeliveryStatus::normalize('allegro_edge', $slug);
$this->assertSame('awaiting_pick_up', $slug);
$this->assertSame(DeliveryStatus::READY_FOR_PICKUP, $normalized);
}
public function testSlugifyAndNormalizeEnglishDelivered(): void
{
$slug = DeliveryStatus::slugifyAllegroDescription('Parcel has been delivered');
$normalized = DeliveryStatus::normalize('allegro_edge', $slug);
$this->assertSame('delivered', $slug);
$this->assertSame(DeliveryStatus::DELIVERED, $normalized);
}
public function testGuessStatusFromEnglishDescriptionFallback(): void
{
$normalized = DeliveryStatus::guessStatusFromDescription('Parcel has been released for delivery');
$this->assertSame(DeliveryStatus::OUT_FOR_DELIVERY, $normalized);
}
public function testPolishMappingRegressionStillWorks(): void
{
$slug = DeliveryStatus::slugifyAllegroDescription('Przesylka zostala dostarczona');
$normalized = DeliveryStatus::normalize('allegro_edge', $slug);
$this->assertSame('dostarczona', $slug);
$this->assertSame(DeliveryStatus::DELIVERED, $normalized);
}
}