Files
deno-valideno/validators/logic.test.ts
Sebastian Seedorf 5fc32d7414 Better tests
2020-05-27 13:02:19 +02:00

32 lines
848 B
TypeScript

import { or } from "./logic.ts";
import { validate, Validator, isString, isInteger } from "../mod.ts";
import {
assertEquals,
assertNotEquals,
} from "https://deno.land/std@0.53.0/testing/asserts.ts";
Deno.test("or (match)", async () => {
const values: [any, Validator[]][] = [
["", [isString(), isInteger()]],
[1, [isString(), isInteger()]],
];
for (const [value, validators] of values) {
assertEquals(await validate(value, or(...validators)), [], String(value));
}
});
Deno.test("or (no match)", async () => {
const values: [any, Validator[]][] = [
[true, [isString(), isInteger()]],
[3.1415, [isString(), isInteger()]],
[1, [isString()]],
];
for (const [value, validators] of values) {
assertNotEquals(
await validate(value, or(...validators)),
[],
String(value),
);
}
});