ldc-arcadia-api/tests/Unit/Domain/Models/ValueObjects/IncoCompo/CarbohydratesDetailTest.php
Jérémy Munsch 152ee2b5a2
feat(api): add IncoSheets feature with DDD clean architecture, tests & OpenAPI spec
- Use cases: FindAllIncoSheets & FindIncoSheet (filters, pagination, short projection)
- Presentation: controllers, FormRequests with scalar validation, DTOs (camelCase)
- Ports & Adapters: IncoSheetDirectory & EloquentIncoSheetDirectory
- Tests: Pest 4 unit, integration, OpenAPI spectator conformance, dynamic arch tests
- Docs: updated Bruno collection and OpenAPI spec
2026-08-14 11:33:05 +02:00

41 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Unit\Domain\Models\ValueObjects\IncoCompo;
use Domain\Models\ValueObjects\IncoCompo\CarbohydratesDetail;
covers(CarbohydratesDetail::class);
describe('CarbohydratesDetail Value Object', function (): void {
it('can be instantiated with carbohydrates details', function (): void {
// GIVEN & WHEN
$detail = new CarbohydratesDetail(
starch: '10.5',
maltodextrin: '1.0',
sucrose: '5.0',
glucose: '3.0',
lactose: '0.0',
maltose: '1.0',
galactose: '0.0',
carbohydrateHydrates: '0.0',
boundFructose: '0.0',
freeFructose: '2.5',
oligosaccharides: '0.0',
polyols: '0.0',
solubleFiber: '0.0',
inositol: '0.0',
);
// THEN
expect($detail->starch)->toBe('10.5')
->and($detail->sucrose)->toBe('5.0')
->and($detail->freeFructose)->toBe('2.5')
->and($detail->glucose)->toBe('3.0')
->and($detail->lactose)->toBe('0.0')
->and($detail->maltose)->toBe('1.0')
->and($detail->polyols)->toBe('0.0')
->and($detail->galactose)->toBe('0.0');
});
});