import { assert, describe, it } from "vitest"; 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); }); });