frontend/test-mocha/common/entity/split_by_groups.spec.ts

41 lines
1016 B
TypeScript

import * as assert from "assert";
import { splitByGroups } from "../../../src/common/entity/split_by_groups";
import { createEntities, createGroup, entityMap } from "./test_util";
describe("splitByGroups", () => {
it("splitByGroups splits correctly", () => {
const entities = createEntities(7);
const entityIds = Object.keys(entities);
const group1 = createGroup({
attributes: {
entity_id: entityIds.splice(0, 2),
order: 6,
},
});
entities[group1.entity_id] = group1;
const group2 = createGroup({
attributes: {
entity_id: entityIds.splice(0, 3),
order: 4,
},
});
entities[group2.entity_id] = group2;
const result = splitByGroups(entities);
result.groups.sort(
(gr1, gr2) => gr1.attributes.order - gr2.attributes.order
);
const expected = {
groups: [group2, group1],
ungrouped: entityMap(entityIds.map((ent) => entities[ent])),
};
assert.deepEqual(expected, result);
});
});