From bdfd6f47ffd70ac21d65a8cdf151bbe662a3f77d Mon Sep 17 00:00:00 2001 From: Marliana Lara Date: Wed, 31 May 2023 12:30:58 -0400 Subject: [PATCH] Use PATCH request when updating wf nodes (#14063) --- .../Visualizer.js | 32 ++++++++----------- .../Visualizer.test.js | 12 +++---- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js index f0ae5bcfb3..ff8a296d4d 100644 --- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js +++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.js @@ -484,15 +484,12 @@ function Visualizer({ template }) { ?.unified_job_type === 'workflow_approval' ) { nodeRequests.push( - WorkflowJobTemplateNodesAPI.replace( - node.originalNodeObject.id, - { - all_parents_must_converge: node.all_parents_must_converge, - ...(replaceIdentifier(node) && { - identifier: node.identifier, - }), - } - ).then(({ data }) => { + WorkflowJobTemplateNodesAPI.update(node.originalNodeObject.id, { + all_parents_must_converge: node.all_parents_must_converge, + ...(replaceIdentifier(node) && { + identifier: node.identifier, + }), + }).then(({ data }) => { node.originalNodeObject = data; approvalTemplateRequests.push( WorkflowApprovalTemplatesAPI.update( @@ -509,15 +506,12 @@ function Visualizer({ template }) { ); } else { nodeRequests.push( - WorkflowJobTemplateNodesAPI.replace( - node.originalNodeObject.id, - { - all_parents_must_converge: node.all_parents_must_converge, - ...(replaceIdentifier(node) && { - identifier: node.identifier, - }), - } - ).then(({ data }) => { + WorkflowJobTemplateNodesAPI.update(node.originalNodeObject.id, { + all_parents_must_converge: node.all_parents_must_converge, + ...(replaceIdentifier(node) && { + identifier: node.identifier, + }), + }).then(({ data }) => { node.originalNodeObject = data; approvalTemplateRequests.push( WorkflowJobTemplateNodesAPI.createApprovalTemplate( @@ -534,7 +528,7 @@ function Visualizer({ template }) { } } else { nodeRequests.push( - WorkflowJobTemplateNodesAPI.replace(node.originalNodeObject.id, { + WorkflowJobTemplateNodesAPI.update(node.originalNodeObject.id, { ...node.promptValues, execution_environment: node.promptValues?.execution_environment?.id || null, diff --git a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.test.js b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.test.js index 28b250dca3..7223871383 100644 --- a/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.test.js +++ b/awx/ui/src/screens/Template/WorkflowJobTemplateVisualizer/Visualizer.test.js @@ -339,7 +339,7 @@ describe('Visualizer', () => { results: [], }, }); - WorkflowJobTemplateNodesAPI.replace.mockRejectedValue(new Error()); + WorkflowJobTemplateNodesAPI.update.mockRejectedValue(new Error()); await act(async () => { wrapper = mountWithContexts( @@ -355,7 +355,7 @@ describe('Visualizer', () => { wrapper.find('Button#visualizer-save').simulate('click'); }); wrapper.update(); - expect(WorkflowJobTemplateNodesAPI.replace).toHaveBeenCalledTimes(1); + expect(WorkflowJobTemplateNodesAPI.update).toHaveBeenCalledTimes(1); expect( wrapper.find('AlertModal[title="Error saving the workflow!"]').length ).toBe(1); @@ -465,7 +465,7 @@ describe('Visualizer', () => { results: [], }, }); - WorkflowJobTemplateNodesAPI.replace.mockResolvedValue({ + WorkflowJobTemplateNodesAPI.update.mockResolvedValue({ data: { id: 9000, summary_fields: { @@ -492,7 +492,7 @@ describe('Visualizer', () => { wrapper.find('Button#visualizer-save').simulate('click'); }); wrapper.update(); - expect(WorkflowJobTemplateNodesAPI.replace).toHaveBeenCalledTimes(1); + expect(WorkflowJobTemplateNodesAPI.update).toHaveBeenCalledTimes(1); expect(WorkflowApprovalTemplatesAPI.update).toHaveBeenCalledTimes(1); expect( wrapper.find('AlertModal[title="Error saving the workflow!"]').length @@ -774,7 +774,7 @@ describe('Visualizer', () => { results: [], }, }); - WorkflowJobTemplateNodesAPI.replace.mockResolvedValue(); + WorkflowJobTemplateNodesAPI.update.mockResolvedValue(); WorkflowJobTemplateNodesAPI.disassociateCredentials.mockRejectedValue( new Error() ); @@ -865,7 +865,7 @@ describe('Visualizer', () => { results: [], }, }); - WorkflowJobTemplateNodesAPI.replace.mockResolvedValue(); + WorkflowJobTemplateNodesAPI.update.mockResolvedValue(); WorkflowJobTemplateNodesAPI.disassociateCredentials.mockResolvedValue(); WorkflowJobTemplateNodesAPI.associateCredentials.mockRejectedValue( new Error()