Files
api/services/nginx/app/tests/Unit/Invoicing/EconomicV2VersioningServiceStructureTest.php
T

46 lines
2.2 KiB
PHP

<?php
it('implements effective-range lifecycle methods for all versioned entities', function (): void {
$serviceFile = app_path('classes/economic_v2_versioning_service.php');
$content = file_get_contents($serviceFile);
expect($content)->not->toBeFalse();
expect($content)->toContain('recordFixedPricingVersion(');
expect($content)->toContain('closeActiveFixedPricingVersion(');
expect($content)->toContain('recordVehicleSubscriptionVersion(');
expect($content)->toContain('closeActiveVehicleSubscriptionVersion(');
expect($content)->toContain('recordDiscountOverrideVersion(');
});
it('closes previous active interval before inserting a new version', function (): void {
$serviceFile = app_path('classes/economic_v2_versioning_service.php');
$content = file_get_contents($serviceFile);
expect($content)->not->toBeFalse();
expect($content)->toContain('AND effective_from <');
expect($content)->toContain('AND (effective_to IS NULL OR effective_to >=');
expect($content)->toContain('minusOneSecond(');
});
it('includes best-effort backfill with provenance and confidence metadata', function (): void {
$serviceFile = app_path('classes/economic_v2_versioning_service.php');
$content = file_get_contents($serviceFile);
expect($content)->not->toBeFalse();
expect($content)->toContain('runBestEffortBackfill(');
expect($content)->toContain('backfill.current_fixed_pricing');
expect($content)->toContain('backfill.current_vehicle');
expect($content)->toContain('backfill.current_discount_override');
expect($content)->toContain("'inferred' =>");
});
it('anchors historical resolution on order created_at timestamps in distribution service', function (): void {
$serviceFile = app_path('classes/economic_v2_distribution_service.php');
$content = file_get_contents($serviceFile);
expect($content)->not->toBeFalse();
expect($content)->toContain('resolveFixedPricingVersionAt($customer_number, $created_at)');
expect($content)->toContain('resolveVehicleSubscriptionVersionsAt($customer_number, $created_at)');
expect($content)->toContain('resolveDiscountForProduct($customer_number, $product_id, $created_at, $department_id)');
});