frontend/test/common/entity/get_view_entities.test.ts
Wendelin bd0bfc1fbe
Rspack (#22807)
* Add rspack

* Remove TransformAsyncModulesPlugin from rspack

* Migrate all webpack usage to rspack

* Migrate tests to vitest

* Fix test suites

* Remove chai dependency

* Fix compute_state_display tests

* Fix resolveTimeZone

* Reduces test pipeline

* Revert test ci

* optimize chunk filtering

* Migrate landing-page to rspack

* Update rspack dependencies

* Add rsdoctor

* Fix prod build bundle size

* Use rsdoctor for demo stats

* Remove unused webpack configs

* Update build-scripts/rspack.cjs

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Fix eslint

* Update rspack

* Remove unused code

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2024-11-26 14:49:13 +01:00

50 lines
1.2 KiB
TypeScript

import { assert, describe, it } from "vitest";
import { getViewEntities } from "../../../src/common/entity/get_view_entities";
import {
createEntities,
createGroup,
createView,
entityMap,
} from "./test_util";
describe("getViewEntities", () => {
it("should work", () => {
const entities = createEntities(10);
const entityIds = Object.keys(entities);
const group1 = createGroup({
attributes: { entity_id: entityIds.splice(0, 2) },
});
entities[group1.entity_id] = group1;
const group2 = createGroup({
attributes: { entity_id: entityIds.splice(0, 3) },
});
entities[group2.entity_id] = group2;
const view = createView({
attributes: {
entity_id: [group1.entity_id, group2.entity_id].concat(
entityIds.splice(0, 2)
),
},
});
const expectedEntities = entityMap(
view.attributes.entity_id.map((ent) => entities[ent])
);
Object.assign(
expectedEntities,
entityMap(group1.attributes.entity_id.map((ent) => entities[ent]))
);
Object.assign(
expectedEntities,
entityMap(group2.attributes.entity_id.map((ent) => entities[ent]))
);
assert.deepEqual(expectedEntities, getViewEntities(entities, view));
});
});