Fix missing test input values (#18424)

- refactor
- fix issue
This commit is contained in:
martmull
2026-03-05 14:36:36 +01:00
committed by GitHub
parent 1acbf28316
commit 7293d4c1f8
7 changed files with 129 additions and 75 deletions
@@ -1,5 +1,5 @@
import { useGetAvailablePackages } from '@/logic-functions/hooks/useGetAvailablePackages';
import { useLogicFunctionEditor } from '@/logic-functions/hooks/useLogicFunctionEditor';
import { useLogicFunctionForm } from '@/logic-functions/hooks/useLogicFunctionForm';
import { useFullScreenModal } from '@/ui/layout/fullscreen/hooks/useFullScreenModal';
import { type BreadcrumbProps } from '@/ui/navigation/bread-crumb/components/Breadcrumb';
import { useGetUpdatableWorkflowVersionOrThrow } from '@/workflow/hooks/useGetUpdatableWorkflowVersionOrThrow';
@@ -22,9 +22,6 @@ import { WorkflowStepBody } from '@/workflow/workflow-steps/components/WorkflowS
import { WorkflowCodeEditor } from '@/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowCodeEditor';
import { WorkflowEditActionCodeFields } from '@/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowEditActionCodeFields';
import { WORKFLOW_LOGIC_FUNCTION_TAB_LIST_COMPONENT_ID } from '@/workflow/workflow-steps/workflow-actions/code-action/constants/WorkflowLogicFunctionTabListComponentId';
import { useAtomFamilyStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomFamilyStateValue';
import { useSetAtomFamilyState } from '@/ui/utilities/state/jotai/hooks/useSetAtomFamilyState';
import { logicFunctionTestDataFamilyState } from '@/workflow/workflow-steps/workflow-actions/code-action/states/logicFunctionTestDataFamilyState';
import { WorkflowLogicFunctionTabId } from '@/workflow/workflow-steps/workflow-actions/code-action/types/WorkflowLogicFunctionTabId';
import { getWrongExportedFunctionMarkers } from '@/workflow/workflow-steps/workflow-actions/code-action/utils/getWrongExportedFunctionMarkers';
import { WorkflowVariablePicker } from '@/workflow/workflow-variables/components/WorkflowVariablePicker';
@@ -49,6 +46,8 @@ import { useIsMobile } from 'twenty-ui/utilities';
import { useDebouncedCallback } from 'use-debounce';
import { getFunctionInputFromInputSchema } from 'twenty-shared/workflow';
import { themeCssVariables } from 'twenty-ui/theme-constants';
import { LogicFunctionTestInputInitEffect } from '@/logic-functions/components/LogicFunctionTestInputInitEffect';
import { useExecuteLogicFunction } from '@/logic-functions/hooks/useExecuteLogicFunction';
const StyledCodeEditorContainer = styled.div`
display: flex;
@@ -114,25 +113,24 @@ export const WorkflowEditActionCode = ({
});
};
const { formValues, loading, executeLogicFunction, onChange, isExecuting } =
useLogicFunctionEditor({
logicFunctionId,
executeCallback: updateOutputSchemaFromTestResult,
});
const { formValues, loading, onChange } = useLogicFunctionForm({
logicFunctionId,
});
const {
executeLogicFunction,
isExecuting,
logicFunctionTestData,
updateLogicFunctionInput,
} = useExecuteLogicFunction({
logicFunctionId,
callback: updateOutputSchemaFromTestResult,
});
const { availablePackages } = useGetAvailablePackages({
id: logicFunctionId,
});
const logicFunctionTestData = useAtomFamilyStateValue(
logicFunctionTestDataFamilyState,
logicFunctionId,
);
const setLogicFunctionTestData = useSetAtomFamilyState(
logicFunctionTestDataFamilyState,
logicFunctionId,
);
const [functionInput, setFunctionInput] =
useState<LogicFunctionInputFormData>(
action.settings.input.logicFunctionInput,
@@ -158,6 +156,7 @@ export const WorkflowEditActionCode = ({
newInput: newFunctionInput,
oldInput: action.settings.input.logicFunctionInput,
});
const newMergedTestInput = mergeDefaultFunctionInputAndFunctionInput({
newInput: newFunctionInput,
oldInput: logicFunctionTestData.input,
@@ -165,10 +164,7 @@ export const WorkflowEditActionCode = ({
setFunctionInput(newMergedInput);
setLogicFunctionTestData((prev) => ({
...prev,
input: newMergedTestInput,
}));
updateLogicFunctionInput(newMergedTestInput);
updateAction({
...action,
@@ -220,10 +216,8 @@ export const WorkflowEditActionCode = ({
path,
value,
);
setLogicFunctionTestData((prev) => ({
...prev,
input: updatedTestFunctionInput,
}));
updateLogicFunctionInput(updatedTestFunctionInput);
};
const handleTestFunction = async () => {
@@ -375,6 +369,7 @@ export const WorkflowEditActionCode = ({
return (
!loading && (
<>
<LogicFunctionTestInputInitEffect logicFunctionId={logicFunctionId} />
<StyledTabList
tabs={tabs}
behaveAsLinks={false}