ldc-arcadia-api/tests/Unit/Domain/Models/ValueObjects/IncoCompo/FattyAcidsTest.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

84 lines
2.4 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Unit\Domain\Models\ValueObjects\IncoCompo;
use Domain\Models\ValueObjects\IncoCompo\FattyAcids;
covers(FattyAcids::class);
describe('FattyAcids Value Object', function (): void {
it('can be instantiated with fatty acids profile', function (): void {
// GIVEN & WHEN
$fattyAcids = new FattyAcids(
fd: '10.0',
cholesterol: '50.0',
transFat: '0.1',
formic: '0.0',
acetic: '0.0',
propionic: '0.0',
butyric: '0.0',
valeric: '0.0',
caproic: '0.0',
enanthic: '0.0',
caprylic: '0.0',
pelargonic: '0.0',
capric: '0.0',
undecylic: '0.0',
lauric: '0.0',
tridecylic: '0.0',
myristic: '0.0',
pentadecylic: '0.0',
f16d0: '0.0',
margaric: '0.0',
stearic: '1.0',
arachidic: '0.0',
heneicosylic: '0.0',
behenic: '0.0',
tricosylic: '0.0',
lignoceric: '0.0',
carboceric: '0.0',
cerotic: '0.0',
ceroplastic: '0.0',
montanic: '0.0',
nonacosylic: '0.0',
melissic: '0.0',
laceric: '0.0',
hentriacontylic: '0.0',
hextriacontylic: '0.0',
heptatriacontylic: '0.0',
octatriacontylic: '0.0',
nonadylie: '0.0',
psyllic: '0.0',
palmitic: '2.0',
oleic: '3.0',
f18d: '0.0',
f19d: '0.0',
f11eico: '0.0',
geddic: '0.0',
erucic: '0.0',
nervonic: '0.0',
hyenic: '0.0',
amscis: '0.0',
f18d2cn6: '1.5',
f18d3n3: '0.5',
f20d4: '0.0',
f20d5n3: '0.0',
f22d6n3: '0.0',
fapun3: '0.0',
fapun6: '0.0',
fapun9: '0.0',
fapucis: '0.0',
fapulc: '0.0',
);
// THEN
expect($fattyAcids->fd)->toBe('10.0')
->and($fattyAcids->cholesterol)->toBe('50.0')
->and($fattyAcids->transFat)->toBe('0.1')
->and($fattyAcids->stearic)->toBe('1.0')
->and($fattyAcids->palmitic)->toBe('2.0')
->and($fattyAcids->oleic)->toBe('3.0');
});
});