Page MenuHomeSealhub

number.test.ts
No OneTemporary

number.test.ts

import assert from "assert";
import * as Sealgen from "../../index.js";
const { Fields } = Sealgen;
describe("number field", () => {
const ctx = {} as any;
it("validation logic", async () => {
const required = new Fields.NumberField(true, 0);
const not_required = new Fields.NumberField(false, 0);
assert.strictEqual((await required.isValueValid(ctx, 42)).valid, true);
assert.strictEqual((await required.isValueValid(ctx, "42")).valid, true);
assert.strictEqual((await required.isValueValid(ctx, "notvalid")).valid, false);
assert.strictEqual((await not_required.isValueValid(ctx, "")).valid, true);
});
it("parse function", async () => {
const required = new Fields.NumberField(true, 0);
const decimal_digits = new Fields.NumberField(true, 0, { decimalDigits: 1 });
const number_as_string_response = await required.parse(ctx, "42");
const number_response = await required.parse(ctx, 42);
const not_a_number_response = await required.parse(ctx, "notanumber");
const decimal_number_response = await decimal_digits.parse(ctx, 42.42);
assert.strictEqual(number_as_string_response.parsable, true);
assert.strictEqual(number_as_string_response.parsed_value, 42);
assert.strictEqual(number_response.parsable, true);
assert.strictEqual(number_response.parsed_value, 42);
assert.strictEqual(not_a_number_response.parsable, false);
assert.strictEqual(not_a_number_response.error, "Please enter a number");
assert.strictEqual(decimal_number_response.parsable, true);
assert.strictEqual(decimal_number_response.parsed_value, 42.4);
});
});

File Metadata

Mime Type
text/x-java
Expires
Wed, May 7, 19:38 (1 d, 21 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
624684
Default Alt Text
number.test.ts (1 KB)

Event Timeline