mirror of
https://github.com/freqtrade/frequi.git
synced 2024-11-10 02:11:57 +00:00
chore: add tests for plotTemplates replacements
This commit is contained in:
parent
6d7ac23838
commit
22c010cf65
|
@ -52,7 +52,9 @@ function replaceTemplateColumns(template: Partial<PlotConfig>, nameMap: Record<s
|
|||
const newKey = nameMap[key] || key;
|
||||
newMainPlot[newKey] = template.main_plot[key];
|
||||
}
|
||||
if ('main_plot' in template) {
|
||||
newTemplate.main_plot = newMainPlot;
|
||||
}
|
||||
|
||||
// Replace the keys of all elements in subplots
|
||||
const newSubplots: Record<string, any> = {};
|
||||
|
@ -64,7 +66,9 @@ function replaceTemplateColumns(template: Partial<PlotConfig>, nameMap: Record<s
|
|||
}
|
||||
newSubplots[subplotKey] = newSubplot;
|
||||
}
|
||||
if ('subplots' in template) {
|
||||
newTemplate.subplots = newSubplots;
|
||||
}
|
||||
return newTemplate;
|
||||
}
|
||||
|
||||
|
@ -90,6 +94,7 @@ export function usePlotTemplates() {
|
|||
plotTemplates,
|
||||
applyPlotTemplate,
|
||||
getTemplateContent,
|
||||
replaceTemplateColumns,
|
||||
plotTemplateNames: computed(() => Object.keys(plotTemplates.value)),
|
||||
};
|
||||
}
|
||||
|
|
98
tests/unit/plotTemplates.spec.ts
Normal file
98
tests/unit/plotTemplates.spec.ts
Normal file
|
@ -0,0 +1,98 @@
|
|||
import { describe, it, expect } from 'vitest';
|
||||
|
||||
import { usePlotTemplates } from '@/composables/plotTemplates';
|
||||
import { PlotConfig } from '@/types';
|
||||
|
||||
describe('plotTemplates.ts', () => {
|
||||
it('Updates main plot values', () => {
|
||||
const { replaceTemplateColumns } = usePlotTemplates();
|
||||
const reMapping = { ema: 'ema_14' };
|
||||
const template: Partial<PlotConfig> = {
|
||||
main_plot: {
|
||||
ema: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
};
|
||||
const expected: Partial<PlotConfig> = {
|
||||
main_plot: {
|
||||
ema_14: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
};
|
||||
expect(replaceTemplateColumns(template, reMapping)).toEqual(expected);
|
||||
});
|
||||
it('Updates subplot plot values', () => {
|
||||
const { replaceTemplateColumns } = usePlotTemplates();
|
||||
const reMapping = { rsi: 'rsi_14' };
|
||||
const template: Partial<PlotConfig> = {
|
||||
subplots: {
|
||||
RSI: {
|
||||
rsi: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
const expected: Partial<PlotConfig> = {
|
||||
subplots: {
|
||||
RSI: {
|
||||
rsi_14: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
expect(replaceTemplateColumns(template, reMapping)).toEqual(expected);
|
||||
});
|
||||
it('Updates both main and subplot values', () => {
|
||||
const { replaceTemplateColumns } = usePlotTemplates();
|
||||
const reMapping = { ema: 'ema_200', macd: 'macd_5m', macdsignal: 'macdsignal_5m' };
|
||||
const template: Partial<PlotConfig> = {
|
||||
main_plot: {
|
||||
ema: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
subplots: {
|
||||
MACD: {
|
||||
macdsignal: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
macd: {
|
||||
color: '#1370f4',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
const expected: Partial<PlotConfig> = {
|
||||
main_plot: {
|
||||
ema_200: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
subplots: {
|
||||
MACD: {
|
||||
macdsignal_5m: {
|
||||
color: '#ff8000',
|
||||
type: 'line',
|
||||
},
|
||||
macd_5m: {
|
||||
color: '#1370f4',
|
||||
type: 'line',
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
expect(replaceTemplateColumns(template, reMapping)).toEqual(expected);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user