ldc-boutique-cnc-sable/tests/Unit/Domain/Enums/GeneralEnumTest.php
2026-10-27 09:58:12 +01:00

55 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Unit\Domain\Enums;
use Domain\Enums\DiscountType;
use Domain\Enums\EmployeeSite;
use Domain\Enums\Nutriscore;
use Domain\Enums\OrderStatus;
use Domain\Enums\OrderTunnelStep;
use Domain\Enums\Pagination\ItemsPerPaginationEnum;
use Domain\Enums\PriceShowingMode;
use Domain\Enums\ProductBrand;
use Domain\Enums\RepeatFrequency;
use Domain\Enums\SellUnit;
use Domain\Enums\StaticPageSlug;
use Domain\Enums\StatsCustomerType;
use Domain\Enums\StatsShopType;
use Domain\Enums\Units\InvoicingUnit;
use Domain\Enums\Units\OrderUnit;
describe('GeneralEnum', function () {
it('loads all enums and gets their labels to ensure full coverage', function (string $enumClass) {
// GIVEN
$className = $enumClass;
// WHEN
$hasMethod = method_exists($className, 'toLabels');
// THEN
if ($hasMethod) {
$labels = $className::toLabels();
expect($labels)->toBeArray();
} else {
expect(true)->toBeTrue();
}
})->with([
DiscountType::class,
EmployeeSite::class,
Nutriscore::class,
OrderStatus::class,
OrderTunnelStep::class,
ItemsPerPaginationEnum::class,
PriceShowingMode::class,
ProductBrand::class,
RepeatFrequency::class,
SellUnit::class,
StaticPageSlug::class,
StatsCustomerType::class,
StatsShopType::class,
InvoicingUnit::class,
OrderUnit::class,
]);
});