chore: Rename Test workflow -> Execute workflow (#15112)

This commit is contained in:
Eugene
2025-05-13 09:35:41 +02:00
committed by GitHub
parent 40fb4a2efc
commit a0a4476175
227 changed files with 2655 additions and 2841 deletions

View File

@@ -144,7 +144,7 @@ describe('LogsOverviewPanel', () => {
});
const aiAgentRow = (await rendered.findAllByRole('treeitem'))[0];
await fireEvent.click(within(aiAgentRow).getAllByLabelText('Test step')[0]);
await fireEvent.click(within(aiAgentRow).getAllByLabelText('Execute step')[0]);
await waitFor(() =>
expect(spyRun).toHaveBeenCalledWith(expect.objectContaining({ destinationNode: 'AI Agent' })),
);

View File

@@ -124,7 +124,7 @@ describe('NodeExecuteButton', () => {
it('displays correct button label for regular node', () => {
const { getByRole } = renderComponent();
expect(getByRole('button').textContent).toBe('Test step');
expect(getByRole('button').textContent).toBe('Execute step');
});
it('displays correct button label for webhook node', () => {
@@ -148,7 +148,7 @@ describe('NodeExecuteButton', () => {
});
const { getByRole } = renderComponent();
expect(getByRole('button').textContent).toBe('Test step');
expect(getByRole('button').textContent).toBe('Execute step');
});
it('displays correct button label for chat node', () => {

View File

@@ -444,7 +444,7 @@ describe('RunData', () => {
executionTime: 2,
source: [
{
previousNode: 'When clicking Test workflow',
previousNode: 'When clicking Execute workflow',
},
],
executionStatus: 'error',
@@ -475,7 +475,7 @@ describe('RunData', () => {
const testNodes = [
{
id: '1',
name: 'When clicking Test workflow',
name: 'When clicking Execute workflow',
type: 'n8n-nodes-base.manualTrigger',
typeVersion: 1,
position: [80, -180],
@@ -529,7 +529,7 @@ describe('RunData', () => {
executionTime: 2,
source: [
{
previousNode: 'When clicking Test workflow',
previousNode: 'When clicking Execute workflow',
},
],
executionStatus: 'error',

View File

@@ -1,7 +1,7 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`CanvasExecuteWorkflowButton > should render correctly 1`] = `
"<button class="button button primary large withIcon el-tooltip__trigger el-tooltip__trigger" aria-live="polite" data-test-id="execute-workflow-button"><span class="icon"><span class="n8n-text compact size-large regular n8n-icon n8n-icon"><svg class="svg-inline--fa fa-flask fa-w-14 large" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flask" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path class="" fill="currentColor" d="M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"></path></svg></span></span><span>Test workflow</span></button>
"<button class="button button primary large withIcon el-tooltip__trigger el-tooltip__trigger" aria-live="polite" data-test-id="execute-workflow-button"><span class="icon"><span class="n8n-text compact size-large regular n8n-icon n8n-icon"><svg class="svg-inline--fa fa-flask fa-w-14 large" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flask" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path class="" fill="currentColor" d="M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"></path></svg></span></span><span>Execute workflow</span></button>
<!--teleport start-->
<!--teleport end-->"
`;

View File

@@ -1,7 +1,7 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`CanvasRunWorkflowButton > should render correctly 1`] = `
"<button class="button button primary large withIcon el-tooltip__trigger el-tooltip__trigger" aria-live="polite" data-test-id="execute-workflow-button"><span class="icon"><span class="n8n-text compact size-large regular n8n-icon n8n-icon"><svg class="svg-inline--fa fa-flask fa-w-14 large" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flask" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path class="" fill="currentColor" d="M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"></path></svg></span></span><span>Test workflow</span></button>
"<button class="button button primary large withIcon el-tooltip__trigger el-tooltip__trigger" aria-live="polite" data-test-id="execute-workflow-button"><span class="icon"><span class="n8n-text compact size-large regular n8n-icon n8n-icon"><svg class="svg-inline--fa fa-flask fa-w-14 large" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flask" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path class="" fill="currentColor" d="M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"></path></svg></span></span><span>Execute workflow</span></button>
<!--teleport start-->
<!--teleport end-->"
`;

View File

@@ -14,7 +14,7 @@ exports[`useContextMenu > Read-only mode > should return the correct actions whe
{
"disabled": true,
"id": "execute",
"label": "Test step",
"label": "Execute step",
},
{
"disabled": true,
@@ -205,7 +205,7 @@ exports[`useContextMenu > should include "Open Sub-workflow" action when node is
{
"disabled": false,
"id": "execute",
"label": "Test step",
"label": "Execute step",
},
{
"disabled": false,
@@ -327,7 +327,7 @@ exports[`useContextMenu > should return the correct actions opening the menu fro
{
"disabled": false,
"id": "execute",
"label": "Test step",
"label": "Execute step",
},
{
"disabled": false,
@@ -437,7 +437,7 @@ exports[`useContextMenu > should return the correct actions when right clicking
{
"disabled": false,
"id": "execute",
"label": "Test step",
"label": "Execute step",
},
{
"disabled": false,
@@ -628,7 +628,7 @@ exports[`useContextMenu > should show "Open Sub-workflow" action (disabled) when
{
"disabled": false,
"id": "execute",
"label": "Test step",
"label": "Execute step",
},
{
"disabled": false,
@@ -750,7 +750,7 @@ exports[`useContextMenu > should show "Open Sub-workflow" action (enabled) when
{
"disabled": false,
"id": "execute",
"label": "Test step",
"label": "Execute step",
},
{
"disabled": false,

View File

@@ -110,7 +110,7 @@ export const SUPPORT_CHAT_TEST_PAYLOAD: ChatRequest.RequestPayload = {
name: '🧪 Assistant context test',
active: false,
connections: {
'When clicking Test workflow': {
'When clicking Execute workflow': {
main: [
[
{
@@ -154,7 +154,7 @@ export const SUPPORT_CHAT_TEST_PAYLOAD: ChatRequest.RequestPayload = {
notice: '',
},
id: 'c457ff96-3b0c-4dbc-b47f-dc88396a46ae',
name: 'When clicking Test workflow',
name: 'When clicking Execute workflow',
type: 'n8n-nodes-base.manualTrigger',
position: [-60, 200],
typeVersion: 1,
@@ -274,7 +274,7 @@ export const SUPPORT_CHAT_TEST_PAYLOAD: ChatRequest.RequestPayload = {
},
executionData: {
runData: {
'When clicking Test workflow': [
'When clicking Execute workflow': [
{
hints: [],
startTime: 1737540693122,
@@ -292,7 +292,7 @@ export const SUPPORT_CHAT_TEST_PAYLOAD: ChatRequest.RequestPayload = {
executionTime: 2,
source: [
{
previousNode: 'When clicking Test workflow',
previousNode: 'When clicking Execute workflow',
},
],
executionStatus: 'success',

View File

@@ -457,7 +457,7 @@ const testWorkflow: IWorkflowDb = {
const testExecutionData: IRunExecutionData['resultData'] = {
runData: {
'When clicking Test workflow': [
'When clicking Execute workflow': [
{
hints: [],
startTime: 1732882780588,
@@ -487,7 +487,7 @@ const testExecutionData: IRunExecutionData['resultData'] = {
executionTime: 0,
source: [
{
previousNode: 'When clicking Test workflow',
previousNode: 'When clicking Execute workflow',
},
],
executionStatus: 'success',

View File

@@ -144,7 +144,7 @@ describe('useContextMenu', () => {
expect(targetNodeIds.value).toEqual([basicChain.id]);
});
it('should disable test step option for sub-nodes (AI tool nodes)', () => {
it('should disable execute step option for sub-nodes (AI tool nodes)', () => {
const { open, isOpen, actions, targetNodeIds } = useContextMenu();
const subNode = nodeFactory({ type: 'n8n-nodes-base.hackerNewsTool' });
vi.spyOn(workflowsStore, 'getNodeById').mockReturnValue(subNode);

View File

@@ -837,7 +837,7 @@
"executionsList.debug.paywall.link.text": "Read more in the docs",
"executionsList.debug.paywall.link.url": "https://docs.n8n.io/workflows/executions/debug/",
"fromAiParametersModal.title": "Test {nodeName}",
"fromAiParametersModal.execute": "Test step",
"fromAiParametersModal.execute": "Execute step",
"fromAiParametersModal.description": "Provide the data that would normally come from the \"{parentNodeName}\" node",
"fromAiParametersModal.cancel": "Cancel",
"workerList.pageTitle": "Workers",
@@ -1009,7 +1009,7 @@
"logs.overview.body.empty.action": "Execute the workflow",
"logs.overview.body.summaryText": "{status} in {time}",
"logs.overview.body.started": "Started {time}",
"logs.overview.body.run": "Test step",
"logs.overview.body.run": "Execute step",
"logs.overview.body.open": "Open...",
"logs.overview.body.toggleRow": "Toggle row",
"logs.details.header.actions.input": "Input",
@@ -1073,7 +1073,7 @@
"multipleParameter.moveUp": "Move up",
"ndv.backToCanvas": "Back to canvas",
"ndv.backToCanvas.waitingForTriggerWarning": "Waiting for a Trigger node to execute. Close this view to see the Workflow Canvas.",
"ndv.execute.testNode": "Test step",
"ndv.execute.testNode": "Execute step",
"ndv.execute.testNode.description": "Runs the current node. Will also run previous nodes if they have not been run yet",
"ndv.execute.generateCodeAndTestNode.description": "Generates code and then runs the current node",
"ndv.execute.generateCode.message": "The instructions in '{nodeName}' have changed",
@@ -1081,10 +1081,10 @@
"ndv.execute.executing": "Executing",
"ndv.execute.fetchEvent": "Fetch Test Event",
"ndv.execute.fixPrevious": "Fix previous node first",
"ndv.execute.generatingCode": "Genereting code from instructions",
"ndv.execute.generatingCode": "Generating code from instructions",
"ndv.execute.listenForTestEvent": "Listen for test event",
"ndv.execute.testChat": "Test chat",
"ndv.execute.testStep": "Test step",
"ndv.execute.testStep": "Execute step",
"ndv.execute.stopListening": "Stop Listening",
"ndv.execute.nodeIsDisabled": "Enable node to execute",
"ndv.execute.requiredFieldsMissing": "Complete required fields first",
@@ -1182,7 +1182,7 @@
"node.activateDeactivateNode": "Activate/Deactivate Node",
"node.changeColor": "Change color",
"node.disabled": "Deactivated",
"node.testStep": "Test step",
"node.testStep": "Execute step",
"node.disable": "Deactivate",
"node.enable": "Activate",
"node.delete": "Delete",
@@ -1459,7 +1459,7 @@
"nodeView.refresh": "Refresh",
"nodeView.resetZoom": "Reset Zoom",
"nodeView.tidyUp": "Tidy Up",
"nodeView.runButtonText.executeWorkflow": "Test workflow",
"nodeView.runButtonText.executeWorkflow": "Execute workflow",
"nodeView.runButtonText.executingWorkflow": "Executing workflow",
"nodeView.runButtonText.waitingForTriggerEvent": "Waiting for trigger event",
"nodeView.showError.workflowError": "Workflow execution had an error",
@@ -1514,7 +1514,7 @@
"contextMenu.tidyUpSelection": "Tidy up selection",
"contextMenu.duplicate": "Duplicate | Duplicate {count} {subject}",
"contextMenu.open": "Open...",
"contextMenu.test": "Test step",
"contextMenu.test": "Execute step",
"contextMenu.rename": "Rename",
"contextMenu.openSubworkflow": "Open Sub-workflow",
"contextMenu.copy": "Copy | Copy {count} {subject}",
@@ -2292,8 +2292,8 @@
"nodeIssues.input.missing": "No node connected to required input \"{inputName}\"",
"ndv.trigger.moreInfo": "More info",
"ndv.trigger.copiedTestUrl": "Test URL copied to clipboard",
"ndv.trigger.webhookBasedNode.executionsHelp.inactive": "<b>While building your workflow</b>, click the 'test step' button, then go to {service} and make an event happen. This will trigger an execution, which will show up in this editor.<br /> <br /> <b>Once you're happy with your workflow</b>, <a data-key=\"activate\">activate</a> it. Then every time there's a matching event in {service}, the workflow will execute. These executions will show up in the <a data-key=\"executions\">executions list</a>, but not in the editor.",
"ndv.trigger.webhookBasedNode.executionsHelp.active": "<b>While building your workflow</b>, click the 'test step' button, then go to {service} and make an event happen. This will trigger an execution, which will show up in this editor.<br /> <br /> <b>Your workflow will also execute automatically</b>, since it's activated. Every time theres a matching event in {service}, this node will trigger an execution. These executions will show up in the <a data-key=\"executions\">executions list</a>, but not in the editor. ",
"ndv.trigger.webhookBasedNode.executionsHelp.inactive": "<b>While building your workflow</b>, click the 'execute step' button, then go to {service} and make an event happen. This will trigger an execution, which will show up in this editor.<br /> <br /> <b>Once you're happy with your workflow</b>, <a data-key=\"activate\">activate</a> it. Then every time there's a matching event in {service}, the workflow will execute. These executions will show up in the <a data-key=\"executions\">executions list</a>, but not in the editor.",
"ndv.trigger.webhookBasedNode.executionsHelp.active": "<b>While building your workflow</b>, click the 'execute step' button, then go to {service} and make an event happen. This will trigger an execution, which will show up in this editor.<br /> <br /> <b>Your workflow will also execute automatically</b>, since it's activated. Every time theres a matching event in {service}, this node will trigger an execution. These executions will show up in the <a data-key=\"executions\">executions list</a>, but not in the editor. ",
"ndv.trigger.webhookNode.listening": "Listening for test event",
"ndv.trigger.chatTrigger.openChat": "Open Chat Window",
"ndv.trigger.webhookNode.formTrigger.listening": "Listening for a test form submission",

View File

@@ -980,7 +980,7 @@ function generateMockExecutionEvents() {
};
const successEvent: PushPayload<'nodeExecuteAfter'> = {
executionId: '59',
nodeName: 'When clicking Test workflow',
nodeName: 'When clicking Execute workflow',
data: {
hints: [],
startTime: 1727867966633,
@@ -1013,7 +1013,7 @@ function generateMockExecutionEvents() {
executionTime: 2,
source: [
{
previousNode: 'When clicking Test workflow',
previousNode: 'When clicking Execute workflow',
},
],
executionStatus: 'error',

View File

@@ -12,7 +12,7 @@ const MOCK_EXECUTION: Partial<IExecutionResponse> = {
startData: {},
resultData: {
runData: {
'When clicking Test workflow': [
'When clicking Execute workflow': [
{
startTime: 1706027170005,
executionIndex: 0,
@@ -27,7 +27,7 @@ const MOCK_EXECUTION: Partial<IExecutionResponse> = {
startTime: 1706027170005,
executionIndex: 1,
executionTime: 1,
source: [{ previousNode: 'When clicking Test workflow' }],
source: [{ previousNode: 'When clicking Execute workflow' }],
executionStatus: 'success',
data: {
main: [
@@ -266,54 +266,54 @@ describe('pairedItemUtils', () => {
const actual = getPairedItemsMapping(MOCK_EXECUTION);
const expected = {
DebugHelper_r0_o0_i0: new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'If_r0_o0_i0',
'Edit Fields_r1_o0_i0',
'Edit Fields1_r1_o0_i0',
]),
DebugHelper_r0_o0_i1: new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'If_r0_o1_i0',
'Edit Fields_r0_o0_i0',
'Edit Fields1_r0_o0_i0',
]),
'Edit Fields1_r0_o0_i0': new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'DebugHelper_r0_o0_i1',
'If_r0_o1_i0',
'Edit Fields_r0_o0_i0',
]),
'Edit Fields1_r1_o0_i0': new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'DebugHelper_r0_o0_i0',
'If_r0_o0_i0',
'Edit Fields_r1_o0_i0',
]),
'Edit Fields_r0_o0_i0': new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'DebugHelper_r0_o0_i1',
'If_r0_o1_i0',
'Edit Fields1_r0_o0_i0',
]),
'Edit Fields_r1_o0_i0': new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'DebugHelper_r0_o0_i0',
'If_r0_o0_i0',
'Edit Fields1_r1_o0_i0',
]),
If_r0_o0_i0: new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'DebugHelper_r0_o0_i0',
'Edit Fields_r1_o0_i0',
'Edit Fields1_r1_o0_i0',
]),
If_r0_o1_i0: new Set([
'When clicking Test workflow_r0_o0_i0',
'When clicking Execute workflow_r0_o0_i0',
'DebugHelper_r0_o0_i1',
'Edit Fields_r0_o0_i0',
'Edit Fields1_r0_o0_i0',
]),
'When clicking Test workflow_r0_o0_i0': new Set([
'When clicking Execute workflow_r0_o0_i0': new Set([
'DebugHelper_r0_o0_i0',
'DebugHelper_r0_o0_i1',
'If_r0_o0_i0',