fix(companies): align optional numeric fields with API validation
continuous-integration/drone/push Build is passing

Make employee_count, annual_revenue, and founded_year truly optional in
the create company form and payload. Add field validation docs and
Cypress e2e coverage for dashboard and notifications.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
AmirReza Jamali
2026-06-16 11:47:45 +03:30
parent 2fec8bb84c
commit 169708e49d
8 changed files with 678 additions and 18 deletions
@@ -46,12 +46,19 @@ const useCreateCompanyPresenter = ({ defaultValues, editMode, id }: IProps) => {
const { mutate: updateCompany, isPending: isUpdating } = useUpdateCompany(
id as string,
);
const optionalNumber = (value: unknown) => {
if (value === "" || value === null || value === undefined) return undefined;
return Number(value);
};
const onSubmit: SubmitHandler<ICreateCompanyCredentials> = (data) => {
const formattedData = {
...data,
founded_year: data.founded_year ? +data.founded_year : 0,
employee_count: data.employee_count ? +data.employee_count : 0,
annual_revenue: data.annual_revenue ? +data.annual_revenue : 0,
founded_year: optionalNumber(data.founded_year),
employee_count: optionalNumber(data.employee_count),
annual_revenue: optionalNumber(data.annual_revenue),
document_file_ids: data.document_file_ids ?? [],
tags: {
keywords: data?.tags?.keywords?.length ? data?.tags?.keywords : [],