46 lines
2.2 KiB
PHP
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)');
|
|
});
|