57 lines
2.1 KiB
JavaScript
57 lines
2.1 KiB
JavaScript
import { expect, test } from "@odoo/hoot";
|
|
|
|
import { buildLineId, parseLineId, removeTaxGroupingFromLineId } from "@fusion_accounting/js/util";
|
|
|
|
test("can build a line id from a list of [markup, res_model, res_id]", () => {
|
|
const values = [
|
|
[false, "account.account", 72],
|
|
[null, "account.move", "10"],
|
|
[undefined, "account.move.line", "22"],
|
|
["name", false, null],
|
|
['{"groupby": "account"}', false, null],
|
|
];
|
|
expect(buildLineId(values)).toBe(
|
|
'~account.account~72|~account.move~10|~account.move.line~22|name~~|{"groupby": "account"}~~'
|
|
);
|
|
});
|
|
|
|
test("can parse a line id from a generic id with a markup as object", () => {
|
|
const genericId =
|
|
'~account.account~72|~account.move~10|~account.move.line~22|name~~|{"groupby": "account"}~~';
|
|
expect(parseLineId(genericId)).toEqual([
|
|
[null, "account.account", 72],
|
|
[null, "account.move", 10],
|
|
[null, "account.move.line", 22],
|
|
["name", null, null],
|
|
[{ groupby: "account" }, null, null],
|
|
]);
|
|
});
|
|
|
|
test("can parse a line id from a generic id with a markup as string", () => {
|
|
const genericId =
|
|
'~account.account~72|~account.move~10|~account.move.line~22|name~~|{"groupby": "account"}~~';
|
|
expect(parseLineId(genericId, true)).toEqual([
|
|
[null, "account.account", 72],
|
|
[null, "account.move", 10],
|
|
[null, "account.move.line", 22],
|
|
["name", null, null],
|
|
['{"groupby": "account"}', null, null],
|
|
]);
|
|
});
|
|
|
|
test("can parse and rebuild a line id to have the same one", () => {
|
|
const genericId =
|
|
'~account.account~72|~account.move~10|~account.move.line~22|name~~|{"groupby": "account"}~~';
|
|
const parsedLineId = parseLineId(genericId);
|
|
const buildedGenericId = buildLineId(parsedLineId);
|
|
expect(buildedGenericId).toBe(genericId);
|
|
});
|
|
|
|
test("can remove tax grouping by account group", () => {
|
|
const genericId =
|
|
'{"groupby": "account_group_id"}~account.group~22|~account.account~21|~account.move.line~20';
|
|
expect(removeTaxGroupingFromLineId(genericId)).toBe(
|
|
"~account.account~21|~account.move.line~20"
|
|
);
|
|
});
|