1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-20 14:54:15 +01:00

(bug) VAT decimal values

This commit is contained in:
Sylvain 2023-01-06 13:05:51 +01:00
parent 75a4783e43
commit 5588948bf7
3 changed files with 19 additions and 0 deletions

View File

@ -1,5 +1,6 @@
# Changelog Fab-manager
- Fix a bug: allow decimal values for VAT rates
- Fix a bug: canceled reservations/slots not shown as it in the reservations dashboard
- Fix a bug: no main item on some invoices
- Fix a bug: unable to build accounting lines if no invoices

View File

@ -115,6 +115,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
rules={{ required: true }}
tooltip={t('app.admin.vat_settings_modal.VAT_rate_help')}
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}
@ -132,6 +133,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
<FormInput register={register}
id="invoice_VAT-rate_Product"
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate_product')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}
@ -143,6 +145,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
<FormInput register={register}
id="invoice_VAT-rate_Event"
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate_event')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}
@ -154,6 +157,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
<FormInput register={register}
id="invoice_VAT-rate_Machine"
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate_machine')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}
@ -165,6 +169,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
<FormInput register={register}
id="invoice_VAT-rate_Subscription"
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate_subscription')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}
@ -176,6 +181,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
<FormInput register={register}
id="invoice_VAT-rate_Space"
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate_space')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}
@ -187,6 +193,7 @@ export const VatSettingsModal: React.FC<VatSettingsModalProps> = ({ isOpen, togg
<FormInput register={register}
id="invoice_VAT-rate_Training"
type='number'
step={0.001}
label={t('app.admin.vat_settings_modal.VAT_rate_training')}
addOn={<ClockCounterClockwise size={24}/>}
addOnAriaLabel={t('app.admin.vat_settings_modal.show_history')}

View File

@ -26,6 +26,7 @@ describe('VatSettingsModal', () => {
expect(screen.getByLabelText(/app.admin.vat_settings_modal.enable_VAT/)).toBeChecked();
});
fireEvent.click(screen.getByRole('button', { name: /app.admin.vat_settings_modal.advanced/, hidden: true }));
expect(screen.getByLabelText(/app.admin.vat_settings_modal.VAT_rate/, { selector: '#invoice_VAT-rate' })).toBeInTheDocument();
expect(screen.getByLabelText(/app.admin.vat_settings_modal.VAT_rate_product/)).toBeInTheDocument();
expect(screen.getByLabelText(/app.admin.vat_settings_modal.VAT_rate_event/)).toBeInTheDocument();
expect(screen.getByLabelText(/app.admin.vat_settings_modal.VAT_rate_machine/)).toBeInTheDocument();
@ -44,4 +45,14 @@ describe('VatSettingsModal', () => {
expect(screen.getByRole('heading', { name: /app.admin.setting_history_modal.title/, hidden: true })).toBeInTheDocument();
});
});
test('input 3 decimals rate', async () => {
render(<VatSettingsModal isOpen={true} toggleModal={toggleModal} onError={onError} onSuccess={onSuccess} />);
await waitFor(() => {
expect(screen.getByLabelText(/app.admin.vat_settings_modal.enable_VAT/)).toBeChecked();
});
const input = screen.getByLabelText(/app.admin.vat_settings_modal.VAT_rate/, { selector: '#invoice_VAT-rate' });
fireEvent.change(input, { target: { value: 14.976 } });
expect(input).toHaveValue(14.976);
});
});