mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-12 16:10:30 +02:00
fix(Wait Node): Resolve expressions inside Custom HTML form fields (#30060)
This commit is contained in:
parent
f63567b1ec
commit
7c1a77154c
|
|
@ -547,6 +547,33 @@ describe('FormTrigger, formWebhook', () => {
|
|||
});
|
||||
});
|
||||
|
||||
it('should resolve expressions inside html field content', async () => {
|
||||
const mockRender = jest.fn();
|
||||
|
||||
const formFields: FormFieldsParameter = [
|
||||
{
|
||||
fieldLabel: 'Custom HTML',
|
||||
fieldType: 'html',
|
||||
html: '<div>{{ $json.test }}</div>',
|
||||
requiredField: false,
|
||||
},
|
||||
];
|
||||
|
||||
executeFunctions.getNodeParameter.calledWith('formFields.values').mockReturnValue(formFields);
|
||||
executeFunctions.evaluateExpression
|
||||
.calledWith('{{ $json.test }}')
|
||||
.mockReturnValue('TEST VALUE' as any);
|
||||
executeFunctions.getResponseObject.mockReturnValue({
|
||||
render: mockRender,
|
||||
setHeader: jest.fn(),
|
||||
} as any);
|
||||
|
||||
await formWebhook(executeFunctions);
|
||||
|
||||
const renderArgs = mockRender.mock.calls[0][1];
|
||||
expect(renderArgs.formFields[0].html).toBe('<div>TEST VALUE</div>');
|
||||
});
|
||||
|
||||
it('should sanitize form descriptions', async () => {
|
||||
const mockRender = jest.fn();
|
||||
|
||||
|
|
|
|||
|
|
@ -630,6 +630,16 @@ export async function formWebhook(
|
|||
const mode = context.getMode() === 'manual' ? 'test' : 'production';
|
||||
const formFields = context.getNodeParameter('formFields.values', []) as FormFieldsParameter;
|
||||
|
||||
for (const field of formFields) {
|
||||
if (field.fieldType === 'html') {
|
||||
let html = field.html ?? '';
|
||||
for (const resolvable of getResolvables(html)) {
|
||||
html = html.replace(resolvable, context.evaluateExpression(resolvable) as string);
|
||||
}
|
||||
field.html = html;
|
||||
}
|
||||
}
|
||||
|
||||
const method = context.getRequestObject().method;
|
||||
|
||||
validateResponseModeConfiguration(context);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user