Fix chart bug

This commit is contained in:
syuilo 2019-10-31 15:51:33 +09:00
parent bf654c6f42
commit 59a32e9352
3 changed files with 38 additions and 1 deletions

View file

@ -42,4 +42,17 @@ export default class TestChart extends Chart<TestLog> {
foo: update foo: update
}); });
} }
@autobind
public async decrement() {
const update: Obj = {};
update.total = -1;
update.dec = 1;
this.total--;
await this.inc({
foo: update
});
}
} }

View file

@ -122,7 +122,7 @@ export default abstract class Chart<T extends Record<string, any>> {
for (const [k, v] of Object.entries(columns)) { for (const [k, v] of Object.entries(columns)) {
if (v > 0) query[k] = () => `"${k}" + ${v}`; if (v > 0) query[k] = () => `"${k}" + ${v}`;
if (v < 0) query[k] = () => `"${k}" - ${v}`; if (v < 0) query[k] = () => `"${k}" - ${Math.abs(v)}`;
} }
return query; return query;

View file

@ -106,6 +106,30 @@ describe('Chart', () => {
}); });
})); }));
it('Can updates (dec)', async(async () => {
await testChart.decrement();
const chartHours = await testChart.getChart('hour', 3);
const chartDays = await testChart.getChart('day', 3);
assert.deepStrictEqual(chartHours, {
foo: {
dec: [1, 0, 0],
inc: [0, 0, 0],
total: [-1, 0, 0]
},
});
assert.deepStrictEqual(chartDays, {
foo: {
dec: [1, 0, 0],
inc: [0, 0, 0],
total: [-1, 0, 0]
},
});
}));
it('Empty chart', async(async () => { it('Empty chart', async(async () => {
const chartHours = await testChart.getChart('hour', 3); const chartHours = await testChart.getChart('hour', 3);
const chartDays = await testChart.getChart('day', 3); const chartDays = await testChart.getChart('day', 3);