UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

94 lines (93 loc) 3.29 kB
/** * DevExtreme (esm/__internal/scheduler/utils/resource_manager/agenda_group_utils.test.js) * Version: 25.2.8 * Build date: Mon Jun 08 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { describe, expect, it } from "@jest/globals"; import { getResourceManagerMock } from "../../__mock__/resource_manager.mock"; import { reduceResourcesTree } from "./agenda_group_utils"; describe("agenda group utils", () => { describe("reduceResourcesTree", () => { it("should reduce tree by appointments resources", async () => { const manager = getResourceManagerMock(); await manager.loadGroupResources(["roomId", "nested.priorityId"]); expect(reduceResourcesTree(manager.resourceById, manager.groupsTree, [{ itemData: { roomId: 0, nested: { priorityId: [1, 2] } } }, { itemData: { roomId: 1, nested: { priorityId: 2 } } }])).toEqual([{ children: [{ children: [], grouped: { "nested.priorityId": 1, roomId: 0 }, resourceIndex: "nested.priorityId", resourceText: "Low Priority" }, { children: [], grouped: { "nested.priorityId": 2, roomId: 0 }, resourceIndex: "nested.priorityId", resourceText: "High Priority" }], grouped: { roomId: 0 }, resourceIndex: "roomId", resourceText: "Room 1" }, { children: [{ children: [], grouped: { "nested.priorityId": 1, roomId: 1 }, resourceIndex: "nested.priorityId", resourceText: "Low Priority" }, { children: [], grouped: { "nested.priorityId": 2, roomId: 1 }, resourceIndex: "nested.priorityId", resourceText: "High Priority" }], grouped: { roomId: 1 }, resourceIndex: "roomId", resourceText: "Room 2" }]) }); it("should reduce tree by zero appointments", async () => { const manager = getResourceManagerMock(); await manager.loadGroupResources(["roomId", "nested.priorityId"]); expect(reduceResourcesTree(manager.resourceById, manager.groupsTree, [])).toEqual([]) }) }) });