@dpkit/core
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
29 lines (23 loc) • 822 B
text/typescript
import { describe, expect, expectTypeOf, it } from "vitest"
import { AssertionError } from "../error/index.ts"
import type { Dialect } from "./Dialect.ts"
import { assertDialect } from "./assert.ts"
describe("assertDialect", () => {
it("returns typed dialect when valid", async () => {
const descriptor = {
delimiter: ";",
header: true,
skipInitialSpace: true,
}
const dialect = await assertDialect(descriptor)
expectTypeOf(dialect).toEqualTypeOf<Dialect>()
expect(dialect).toEqual(descriptor)
})
it("throws ValidationError when dialect is invalid", async () => {
const invalidDialect = {
delimiter: 1, // Should be a string
header: "yes", // Should be a boolean
}
await expect(assertDialect(invalidDialect)).rejects.toThrow(AssertionError)
})
})