feat: update session payment logic to ensure accurate payable amounts and reflect consumables in cost breakdown
- Adjusted the calculation of payable amounts in PaymentStep to align with server logic, ensuring overpayments are handled correctly. - Enhanced DetailsStep to include consumables in the itemized cost breakdown, ensuring consistency with patient share calculations. - Updated tests for SessionPaymentPage to validate new behavior regarding overpayments and consumable listings. - Modified PatientController to register SessionPayment correctly when settling sessions via wallet, preventing double charges. - Refactored WalletService to remove outdated methods and ensure wallet transactions reflect the correct amounts after discounts. - Improved accessibility in SearchableSelect component by adding aria labels and ensuring proper role attributes for screen readers. - Updated styles to ensure minimum touch targets meet WCAG guidelines for mobile usability.
This commit is contained in:
@@ -17,13 +17,20 @@ const slotStart = Math.floor(new Date('2024-06-01T12:00:00').getTime() / 1000);
|
||||
|
||||
beforeEach(() => {
|
||||
get.mockReset();
|
||||
get.mockResolvedValue({
|
||||
success: true,
|
||||
data: {
|
||||
uuid: 'ap1', patient_name: 'ساغر', patient_mobile: '09120000000',
|
||||
slot_start: slotStart, slot_end: slotStart + 1800, status: 'confirmed', version: 1, created_at: slotStart,
|
||||
},
|
||||
});
|
||||
// mock باید به URL حساس باشد: /events یک لیست برمیگرداند نه آبجکت نوبت
|
||||
get.mockImplementation((url: string) =>
|
||||
Promise.resolve(
|
||||
String(url).endsWith('/events')
|
||||
? { success: true, data: [] }
|
||||
: {
|
||||
success: true,
|
||||
data: {
|
||||
uuid: 'ap1', patient_name: 'ساغر', patient_mobile: '09120000000',
|
||||
slot_start: slotStart, slot_end: slotStart + 1800, status: 'confirmed', version: 1, created_at: slotStart,
|
||||
},
|
||||
},
|
||||
),
|
||||
);
|
||||
});
|
||||
|
||||
describe('AppointmentDetailPage — بازگشت به همان روز', () => {
|
||||
|
||||
Reference in New Issue
Block a user