fix: remove async marker from initializeWorkspace and openWorkflow

This commit is contained in:
Alex Grozav 2024-11-07 16:18:34 +02:00
parent 0c5a057536
commit d0e60b178e
3 changed files with 26 additions and 6 deletions

View file

@ -17,6 +17,7 @@ import { useHistoryStore } from '@/stores/history.store';
import { useNDVStore } from '@/stores/ndv.store'; import { useNDVStore } from '@/stores/ndv.store';
import { import {
createTestNode, createTestNode,
createTestWorkflow,
createTestWorkflowObject, createTestWorkflowObject,
mockNode, mockNode,
mockNodeTypeDescription, mockNodeTypeDescription,
@ -2033,6 +2034,22 @@ describe('useCanvasOperations', () => {
}, },
); );
}); });
describe('initializeWorkspace', () => {
it('should initialize the workspace', () => {
const workflowsStore = mockedStore(useWorkflowsStore);
const workflow = createTestWorkflow({
nodes: [createTestNode()],
connections: {},
});
const { initializeWorkspace } = useCanvasOperations({ router });
initializeWorkspace(workflow);
expect(workflowsStore.setNodes).toHaveBeenCalled();
expect(workflowsStore.setConnections).toHaveBeenCalled();
});
});
}); });
function buildImportNodes() { function buildImportNodes() {

View file

@ -1377,7 +1377,7 @@ export function useCanvasOperations({ router }: { router: ReturnType<typeof useR
nodeHelpers.credentialsUpdated.value = false; nodeHelpers.credentialsUpdated.value = false;
} }
async function initializeWorkspace(data: IWorkflowDb) { function initializeWorkspace(data: IWorkflowDb) {
workflowHelpers.initState(data); workflowHelpers.initState(data);
data.nodes.forEach((node) => { data.nodes.forEach((node) => {

View file

@ -379,11 +379,11 @@ async function initializeWorkspaceForExistingWorkflow(id: string) {
* Workflow * Workflow
*/ */
async function openWorkflow(data: IWorkflowDb) { function openWorkflow(data: IWorkflowDb) {
resetWorkspace(); resetWorkspace();
workflowHelpers.setDocumentTitle(data.name, 'IDLE'); workflowHelpers.setDocumentTitle(data.name, 'IDLE');
await initializeWorkspace(data); initializeWorkspace(data);
void externalHooks.run('workflow.open', { void externalHooks.run('workflow.open', {
workflowId: data.id, workflowId: data.id,
@ -815,7 +815,8 @@ async function importWorkflowExact({ workflow: workflowData }: { workflow: IWork
resetWorkspace(); resetWorkspace();
await initializeData(); await initializeData();
await initializeWorkspace({
initializeWorkspace({
...workflowData, ...workflowData,
nodes: NodeViewUtils.getFixedNodesList<INodeUi>(workflowData.nodes), nodes: NodeViewUtils.getFixedNodesList<INodeUi>(workflowData.nodes),
} as IWorkflowDb); } as IWorkflowDb);
@ -1074,7 +1075,9 @@ async function openExecution(executionId: string) {
} }
await initializeData(); await initializeData();
await initializeWorkspace(data.workflowData);
initializeWorkspace(data.workflowData);
workflowsStore.setWorkflowExecutionData(data); workflowsStore.setWorkflowExecutionData(data);
uiStore.stateIsDirty = false; uiStore.stateIsDirty = false;
@ -1254,7 +1257,7 @@ async function onSourceControlPull() {
const workflowData = await workflowsStore.fetchWorkflow(workflowId.value); const workflowData = await workflowsStore.fetchWorkflow(workflowId.value);
if (workflowData) { if (workflowData) {
workflowHelpers.setDocumentTitle(workflowData.name, 'IDLE'); workflowHelpers.setDocumentTitle(workflowData.name, 'IDLE');
await openWorkflow(workflowData); openWorkflow(workflowData);
} }
} }
} catch (error) { } catch (error) {