UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

67 lines (66 loc) 2.08 kB
/** * DevExtreme (esm/__internal/grids/new/grid_core/editing/utils.test.js) * Version: 25.1.3 * Build date: Wed Jun 25 2025 * * Copyright (c) 2012 - 2025 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) })); it.skip("should not wait for promised added after waiting", (async () => {})) }));