From 1073eb0e682e7bd253c6d62225361b487d7f6d2f Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 25 Aug 2025 12:12:12 +0000 Subject: [PATCH] fix(flow): test this step preload step input evaluation --- .../lib/components/ModulePreviewForm.svelte | 132 ++++++++++-------- .../lib/components/flows/testSteps.svelte.ts | 2 +- frontend/src/lib/components/flows/utils.ts | 12 +- 3 files changed, 78 insertions(+), 68 deletions(-) diff --git a/frontend/src/lib/components/ModulePreviewForm.svelte b/frontend/src/lib/components/ModulePreviewForm.svelte index 531fd9f24e..4c8c78e4e6 100644 --- a/frontend/src/lib/components/ModulePreviewForm.svelte +++ b/frontend/src/lib/components/ModulePreviewForm.svelte @@ -1,11 +1,11 @@
- {#if keys.length > 0} - {#each keys as argName, i (argName)} - {#if Object.keys(schema.properties ?? {}).includes(argName)} -
- {#if schema?.properties?.[argName]} - testSteps?.getStepInputArgs(mod.id, argName), - (v) => testSteps?.setStepInputArgs(mod.id, argName, v) - } - type={schema.properties[argName].type} - oneOf={schema.properties[argName].oneOf} - required={schema?.required?.includes(argName)} - pattern={schema.properties[argName].pattern} - bind:editor={editor[argName]} - bind:valid={inputCheck[argName]} - defaultValue={schema.properties[argName].default} - enum_={schema.properties[argName].enum} - format={schema.properties[argName].format} - contentEncoding={schema.properties[argName].contentEncoding} - properties={schema.properties[argName].properties} - nestedRequired={schema.properties[argName].required} - itemsType={schema.properties[argName].items} - extra={schema.properties[argName]} - nullable={schema.properties[argName].nullable} - title={schema.properties[argName].title} - placeholder={schema.properties[argName].placeholder} - /> - {/if} - {#if testSteps?.isArgManuallySet(mod.id, argName)} -
- -
- {/if} -
- {/if} - {/each} + {#if initialized} + {#if keys.length > 0} + {#each keys as argName, i (argName)} + {#if Object.keys(schema.properties ?? {}).includes(argName)} +
+ {#if schema?.properties?.[argName]} + testSteps?.getStepInputArgs(mod.id, argName), + (v) => testSteps?.setStepInputArgs(mod.id, argName, v) + } + type={schema.properties[argName].type} + oneOf={schema.properties[argName].oneOf} + required={schema?.required?.includes(argName)} + pattern={schema.properties[argName].pattern} + bind:editor={editor[argName]} + bind:valid={inputCheck[argName]} + defaultValue={schema.properties[argName].default} + enum_={schema.properties[argName].enum} + format={schema.properties[argName].format} + contentEncoding={schema.properties[argName].contentEncoding} + properties={schema.properties[argName].properties} + nestedRequired={schema.properties[argName].required} + itemsType={schema.properties[argName].items} + extra={schema.properties[argName]} + nullable={schema.properties[argName].nullable} + title={schema.properties[argName].title} + placeholder={schema.properties[argName].placeholder} + /> + {/if} + {#if testSteps?.isArgManuallySet(mod.id, argName)} +
+ +
+ {/if} +
+ {/if} + {/each} + {/if} + {:else} +
Loading test step arguments...
{/if}
diff --git a/frontend/src/lib/components/flows/testSteps.svelte.ts b/frontend/src/lib/components/flows/testSteps.svelte.ts index 71336cfe8f..a7e8263aad 100644 --- a/frontend/src/lib/components/flows/testSteps.svelte.ts +++ b/frontend/src/lib/components/flows/testSteps.svelte.ts @@ -12,7 +12,7 @@ export class TestSteps { #stepsEvaluated = $state>>({}) #steps = $state>>({}) - constructor() {} + constructor() { } setStepArgsManually(moduleId: string, args: Record) { this.#steps[moduleId] = args diff --git a/frontend/src/lib/components/flows/utils.ts b/frontend/src/lib/components/flows/utils.ts index d7b5e1db90..2e04c2a17e 100644 --- a/frontend/src/lib/components/flows/utils.ts +++ b/frontend/src/lib/components/flows/utils.ts @@ -22,11 +22,10 @@ function create_context_function_template(eval_string: string, context: Record 0 - ? `let ${Object.keys(context).map((key) => ` ${key} = context['${key}']`)};` - : `` -} +${Object.keys(context).length > 0 + ? `let ${Object.keys(context).map((key) => ` ${key} = context['${key}']`)};` + : `` + } return ${eval_string} }` } @@ -63,6 +62,9 @@ export function evalValue( v = undefined } } + if (v === NEVER_TESTED_THIS_FAR) { + v = undefined + } return v }