UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

66 lines (65 loc) 2 kB
/** * DevExtreme (esm/__internal/grids/new/grid_core/editing/utils.test.js) * Version: 25.2.5 * Build date: Fri Feb 20 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, jest } from "@jest/globals"; import { createPromise } from "../../../../core/utils/promise"; import { defaultSetFieldValue, PendingPromises } from "./utils"; describe("defaultSetFieldValue", (() => { it("should set value to dataField", (() => { const newData = {}; defaultSetFieldValue.call({ dataField: "some_field" }, newData, "some_value", {}); expect(newData).toEqual({ some_field: "some_value" }) })); describe("when column does not have dataField", (() => { it("should not set change data", (() => { const newData = {}; defaultSetFieldValue.call({}, newData, "some_value", {}); expect(newData).toEqual({}) })) })) })); describe("PendingPromises", (() => { it("should wait for all added promises", (async () => { jest.useFakeTimers(); const promises = new PendingPromises; const p1 = createPromise(); const p2 = createPromise(); const p3 = createPromise(); promises.add(p1.promise); promises.add(p2.promise); promises.add(p3.promise); const overallPromise = promises.waitForAll(); let flag = false; overallPromise.then((() => { flag = true })); p1.resolve(); await jest.runAllTimersAsync(); expect(flag).toBe(false); p2.resolve(); await jest.runAllTimersAsync(); expect(flag).toBe(false); p3.resolve(); await jest.runAllTimersAsync(); expect(flag).toBe(true) })) }));