Add tests and implementation for ServiceDetailPage and PriceInput components
- Implement PriceInput component tests to validate Persian and Arabic numeral handling, input formatting, and controlled behavior. - Create ServiceDetailPage component with detailed service information, including pricing, insurance coverage, and editing capabilities. - Add API tests for service item detail retrieval and coverage synchronization with insurance contracts. - Ensure proper error handling and user feedback for service item retrieval and coverage management.
This commit is contained in:
@@ -162,5 +162,23 @@ class TenantInsuranceService
|
||||
->setCeilingRials($ceilingRials);
|
||||
|
||||
$this->coverageRepo->save($override);
|
||||
$this->syncServiceItemInsuranceFlag($serviceItemId);
|
||||
}
|
||||
|
||||
/**
|
||||
* پرچم insurance_covered خدمت را با پوششهای واقعی همتراز میکند. پنل دیگر این
|
||||
* پرچم را دستی نمیگیرد؛ تنها منبع حقیقت، ردیفهای پوشش قراردادهای بیمه است.
|
||||
*/
|
||||
private function syncServiceItemInsuranceFlag(int $serviceItemId): void
|
||||
{
|
||||
$serviceItem = $this->serviceItemRepo->find($serviceItemId);
|
||||
if ($serviceItem === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
$covered = $this->coverageRepo->hasActiveCoverage($serviceItemId);
|
||||
if ($serviceItem->isInsuranceCovered() !== $covered) {
|
||||
$this->serviceItemRepo->save($serviceItem->setInsuranceCovered($covered));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user