Skip to content

Commit

Permalink
fix(editor): Fix default workflow settings (#11632)
Browse files Browse the repository at this point in the history
  • Loading branch information
cstuncsik authored Nov 8, 2024
1 parent 7458229 commit 658568e
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 35 deletions.
1 change: 0 additions & 1 deletion packages/editor-ui/src/Interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,6 @@ export type WorkflowCallerPolicyDefaultOption = 'any' | 'none' | 'workflowsFromA

export interface IWorkflowSettings extends IWorkflowSettingsWorkflow {
errorWorkflow?: string;
saveManualExecutions?: boolean;
timezone?: string;
executionTimeout?: number;
maxExecutionTimeout?: number;
Expand Down
4 changes: 2 additions & 2 deletions packages/editor-ui/src/__tests__/defaults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ export const defaultSettings: FrontendSettings = {
},
publicApi: { enabled: false, latestVersion: 0, path: '', swaggerUi: { enabled: false } },
pushBackend: 'websocket',
saveDataErrorExecution: 'DEFAULT',
saveDataSuccessExecution: 'DEFAULT',
saveDataErrorExecution: 'all',
saveDataSuccessExecution: 'all',
saveManualExecutions: false,
saveExecutionProgress: false,
sso: {
Expand Down
46 changes: 46 additions & 0 deletions packages/editor-ui/src/components/WorkflowSettings.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,4 +145,50 @@ describe('WorkflowSettingsVue', () => {

expect(getByTestId('workflow-caller-policy-workflow-ids')).toHaveValue(cleanedUpWorkflowList);
});

test.each([
['workflow-settings-save-failed-executions', 'Default - Save', () => {}],
[
'workflow-settings-save-failed-executions',
'Default - Do not save',
() => {
settingsStore.saveDataErrorExecution = 'none';
},
],
['workflow-settings-save-success-executions', 'Default - Save', () => {}],
[
'workflow-settings-save-success-executions',
'Default - Do not save',
() => {
settingsStore.saveDataSuccessExecution = 'none';
},
],
[
'workflow-settings-save-manual-executions',
'Default - Save',
() => {
settingsStore.saveManualExecutions = true;
},
],
['workflow-settings-save-manual-executions', 'Default - Do not save', () => {}],
[
'workflow-settings-save-execution-progress',
'Default - Save',
() => {
settingsStore.saveDataProgressExecution = true;
},
],
['workflow-settings-save-execution-progress', 'Default - Do not save', () => {}],
])(
'should show %s dropdown correct default value as %s',
async (testId, optionText, storeSetter) => {
storeSetter();
const { getByTestId } = createComponent({ pinia });
await nextTick();

const dropdownItems = await getDropdownItems(getByTestId(testId));

expect(dropdownItems[0]).toHaveTextContent(optionText);
},
);
});
63 changes: 31 additions & 32 deletions packages/editor-ui/src/components/WorkflowSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,14 @@ const helpTexts = computed(() => ({
workflowCallerPolicy: i18n.baseText('workflowSettings.helpTexts.workflowCallerPolicy'),
workflowCallerIds: i18n.baseText('workflowSettings.helpTexts.workflowCallerIds'),
}));
const defaultValues = computed(() => ({
const defaultValues = ref({
timezone: 'America/New_York',
saveDataErrorExecution: 'all',
saveDataSuccessExecution: 'all',
saveExecutionProgress: false,
saveManualExecutions: false,
workflowCallerPolicy: 'workflowsFromSameOwner',
}));
});
const readOnlyEnv = computed(() => sourceControlStore.preferences.branchReadOnly);
const workflowName = computed(() => workflowsStore.workflowName);
const workflowId = computed(() => workflowsStore.workflowId);
Expand Down Expand Up @@ -145,8 +145,7 @@ const loadWorkflowCallerPolicyOptions = async () => {
};
const loadSaveDataErrorExecutionOptions = async () => {
saveDataErrorExecutionOptions.value.length = 0;
saveDataErrorExecutionOptions.value.push.apply(saveDataErrorExecutionOptions.value, [
saveDataErrorExecutionOptions.value = [
{
key: 'DEFAULT',
value: i18n.baseText('workflowSettings.saveDataErrorExecutionOptions.defaultSave', {
Expand All @@ -166,12 +165,11 @@ const loadSaveDataErrorExecutionOptions = async () => {
key: 'none',
value: i18n.baseText('workflowSettings.saveDataErrorExecutionOptions.doNotSave'),
},
]);
];
};
const loadSaveDataSuccessExecutionOptions = async () => {
saveDataSuccessExecutionOptions.value.length = 0;
saveDataSuccessExecutionOptions.value.push.apply(saveDataSuccessExecutionOptions.value, [
saveDataSuccessExecutionOptions.value = [
{
key: 'DEFAULT',
value: i18n.baseText('workflowSettings.saveDataSuccessExecutionOptions.defaultSave', {
Expand All @@ -191,12 +189,11 @@ const loadSaveDataSuccessExecutionOptions = async () => {
key: 'none',
value: i18n.baseText('workflowSettings.saveDataSuccessExecutionOptions.doNotSave'),
},
]);
];
};
const loadSaveExecutionProgressOptions = async () => {
saveExecutionProgressOptions.value.length = 0;
saveExecutionProgressOptions.value.push.apply(saveExecutionProgressOptions.value, [
saveExecutionProgressOptions.value = [
{
key: 'DEFAULT',
value: i18n.baseText('workflowSettings.saveExecutionProgressOptions.defaultSave', {
Expand All @@ -215,29 +212,30 @@ const loadSaveExecutionProgressOptions = async () => {
key: false,
value: i18n.baseText('workflowSettings.saveExecutionProgressOptions.doNotSave'),
},
]);
];
};
const loadSaveManualOptions = async () => {
saveManualOptions.value.length = 0;
saveManualOptions.value.push({
key: 'DEFAULT',
value: i18n.baseText('workflowSettings.saveManualOptions.defaultSave', {
interpolate: {
defaultValue: defaultValues.value.saveManualExecutions
? i18n.baseText('workflowSettings.saveManualOptions.save')
: i18n.baseText('workflowSettings.saveManualOptions.doNotSave'),
},
}),
});
saveManualOptions.value.push({
key: true,
value: i18n.baseText('workflowSettings.saveManualOptions.save'),
});
saveManualOptions.value.push({
key: false,
value: i18n.baseText('workflowSettings.saveManualOptions.doNotSave'),
});
saveManualOptions.value = [
{
key: 'DEFAULT',
value: i18n.baseText('workflowSettings.saveManualOptions.defaultSave', {
interpolate: {
defaultValue: defaultValues.value.saveManualExecutions
? i18n.baseText('workflowSettings.saveManualOptions.save')
: i18n.baseText('workflowSettings.saveManualOptions.doNotSave'),
},
}),
},
{
key: true,
value: i18n.baseText('workflowSettings.saveManualOptions.save'),
},
{
key: false,
value: i18n.baseText('workflowSettings.saveManualOptions.doNotSave'),
},
];
};
const loadTimezones = async () => {
Expand Down Expand Up @@ -400,6 +398,7 @@ onMounted(async () => {
defaultValues.value.saveDataErrorExecution = settingsStore.saveDataErrorExecution;
defaultValues.value.saveDataSuccessExecution = settingsStore.saveDataSuccessExecution;
defaultValues.value.saveManualExecutions = settingsStore.saveManualExecutions;
defaultValues.value.saveExecutionProgress = settingsStore.saveDataProgressExecution;
defaultValues.value.timezone = rootStore.timezone;
defaultValues.value.workflowCallerPolicy = settingsStore.workflowCallerPolicyDefaultOption;
Expand All @@ -423,7 +422,7 @@ onMounted(async () => {
);
}
const workflowSettingsData = deepCopy(workflowsStore.workflowSettings) as IWorkflowSettings;
const workflowSettingsData = deepCopy(workflowsStore.workflowSettings);
if (workflowSettingsData.timezone === undefined) {
workflowSettingsData.timezone = 'DEFAULT';
Expand All @@ -438,7 +437,7 @@ onMounted(async () => {
workflowSettingsData.saveExecutionProgress = 'DEFAULT';
}
if (workflowSettingsData.saveManualExecutions === undefined) {
workflowSettingsData.saveManualExecutions = defaultValues.value.saveManualExecutions;
workflowSettingsData.saveManualExecutions = 'DEFAULT';
}
if (workflowSettingsData.callerPolicy === undefined) {
workflowSettingsData.callerPolicy = defaultValues.value
Expand Down

0 comments on commit 658568e

Please sign in to comment.