UNPKG

@dpkit/core

Version:

Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames

29 lines 3.88 kB
import { describe, expect, it } from "vitest"; import { validateDialect } from "./validate.js"; describe("validateDialect", () => { it("returns valid result for valid dialect", async () => { const descriptor = { delimiter: ";", }; const result = await validateDialect({ descriptor, }); expect(result.valid).toBe(true); expect(result.errors).toEqual([]); }); it("returns validation errors for invalid dialect", async () => { const invalidDialect = { delimiter: 1, // Should be a string }; const result = await validateDialect(invalidDialect); expect(result.valid).toBe(false); expect(result.errors.length).toBeGreaterThan(0); const error = result.errors[0]; expect(error).toBeDefined(); if (error) { expect(error.keyword).toBe("type"); expect(error.instancePath).toBe("/delimiter"); } }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2RpYWxlY3QvdmFsaWRhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUvQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN0RCxNQUFNLFVBQVUsR0FBRztZQUNqQixTQUFTLEVBQUUsR0FBRztTQUNmLENBQUE7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQztZQUNuQyxVQUFVO1NBQ1gsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkMsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsK0NBQStDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDN0QsTUFBTSxjQUFjLEdBQUc7WUFDckIsU0FBUyxFQUFFLENBQUMsRUFBRSxxQkFBcUI7U0FDcEMsQ0FBQTtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRXBELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUvQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUMzQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDL0MsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlc3RcIlxuaW1wb3J0IHsgdmFsaWRhdGVEaWFsZWN0IH0gZnJvbSBcIi4vdmFsaWRhdGUudHNcIlxuXG5kZXNjcmliZShcInZhbGlkYXRlRGlhbGVjdFwiLCAoKSA9PiB7XG4gIGl0KFwicmV0dXJucyB2YWxpZCByZXN1bHQgZm9yIHZhbGlkIGRpYWxlY3RcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB7XG4gICAgICBkZWxpbWl0ZXI6IFwiO1wiLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZhbGlkYXRlRGlhbGVjdCh7XG4gICAgICBkZXNjcmlwdG9yLFxuICAgIH0pXG5cbiAgICBleHBlY3QocmVzdWx0LnZhbGlkKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvRXF1YWwoW10pXG4gIH0pXG5cbiAgaXQoXCJyZXR1cm5zIHZhbGlkYXRpb24gZXJyb3JzIGZvciBpbnZhbGlkIGRpYWxlY3RcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGludmFsaWREaWFsZWN0ID0ge1xuICAgICAgZGVsaW1pdGVyOiAxLCAvLyBTaG91bGQgYmUgYSBzdHJpbmdcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB2YWxpZGF0ZURpYWxlY3QoaW52YWxpZERpYWxlY3QpXG5cbiAgICBleHBlY3QocmVzdWx0LnZhbGlkKS50b0JlKGZhbHNlKVxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApXG5cbiAgICBjb25zdCBlcnJvciA9IHJlc3VsdC5lcnJvcnNbMF1cbiAgICBleHBlY3QoZXJyb3IpLnRvQmVEZWZpbmVkKClcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGV4cGVjdChlcnJvci5rZXl3b3JkKS50b0JlKFwidHlwZVwiKVxuICAgICAgZXhwZWN0KGVycm9yLmluc3RhbmNlUGF0aCkudG9CZShcIi9kZWxpbWl0ZXJcIilcbiAgICB9XG4gIH0pXG59KVxuIl19