hotfix(FE): fixing failed test scenario in module finance

This commit is contained in:
randy-ar
2026-01-17 16:45:56 +07:00
parent 08715e39c2
commit 36da05890a
6 changed files with 151 additions and 87 deletions
@@ -27,13 +27,7 @@ export const InitialBalanceFormSchema = Yup.object().shape({
'Pihak wajib diisi',
(value) => value !== null && value !== undefined
),
bank_id_option: Yup.mixed()
.nullable()
.test(
'is-valid-option',
'Bank wajib diisi',
(value) => value !== null && value !== undefined
),
bank_id_option: Yup.mixed().nullable(),
reference_number: Yup.string().required('Nomor referensi wajib diisi'),
initial_balance_type_option: Yup.mixed()
.nullable()
@@ -29,8 +29,9 @@ import { Bank } from '@/types/api/master-data/bank';
import { Icon } from '@iconify/react';
import { useFormik } from 'formik';
import { useRouter } from 'next/navigation';
import { useCallback, useMemo } from 'react';
import { useCallback, useMemo, useState } from 'react';
import toast from 'react-hot-toast';
import Alert from '@/components/Alert';
interface FormFinanceAddInitialBalanceProps {
type?: 'add' | 'edit';
@@ -42,6 +43,7 @@ const FormFinanceAddInitialBalance = ({
initialValues,
}: FormFinanceAddInitialBalanceProps) => {
const router = useRouter();
const [serverErrorMessage, setServerErrorMessage] = useState('');
// ===== Formik =====
const formikInitialValues = useMemo((): InitialBalanceFormValues => {
@@ -53,18 +55,18 @@ const FormFinanceAddInitialBalance = ({
return {
party_type_option:
FINANCE_PARTY_TYPE_OPTIONS.find(
(option) => option.value === initialValues?.party.type
(option) => option.value === initialValues?.party?.type
) || null,
party_id_option: initialValues?.party
? {
label: initialValues.party.name,
value: initialValues.party.id,
label: initialValues.party?.name,
value: initialValues.party?.id,
}
: null,
bank_id_option: initialValues?.bank
? {
label: initialValues.bank.name,
value: initialValues.bank.id,
label: initialValues.bank?.name,
value: initialValues.bank?.id,
}
: null,
reference_number: initialValues?.reference_number || '',
@@ -147,6 +149,7 @@ const FormFinanceAddInitialBalance = ({
if (isResponseError(response)) {
toast.error(response.message);
setServerErrorMessage(response.message);
return;
}
@@ -166,6 +169,7 @@ const FormFinanceAddInitialBalance = ({
if (isResponseError(response)) {
toast.error(response.message);
setServerErrorMessage(response.message);
return;
}
@@ -211,6 +215,7 @@ const FormFinanceAddInitialBalance = ({
: ''
}
required
isDisabled={type === 'edit'}
isClearable
/>
<SelectInput
@@ -277,7 +282,6 @@ const FormFinanceAddInitialBalance = ({
? formik.errors.bank_id_option
: ''
}
required
isClearable
/>
<TextInput
@@ -362,7 +366,18 @@ const FormFinanceAddInitialBalance = ({
}
required
/>
<AlertErrorList formErrorList={formErrorList} onClose={close} />
{serverErrorMessage && (
<Alert color='error'>
<Icon icon='mdi:alert' />
{serverErrorMessage}
<Button color='error' onClick={() => setServerErrorMessage('')}>
<Icon icon='mdi:close' />
</Button>
</Alert>
)}
<div className='flex justify-center gap-4'>
<Button
type='reset'