UNPKG

@sprucelabs/schema

Version:

Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓

32 lines (31 loc) • 1.34 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const test_utils_1 = require("@sprucelabs/test-utils"); const __1 = require(".."); const AbstractSchemaTest_1 = __importDefault(require("../AbstractSchemaTest")); const SchemaEntityFactory_1 = __importDefault(require("../factories/SchemaEntityFactory")); class AbstractDateFieldTest extends AbstractSchemaTest_1.default { static async beforeEach() { await super.beforeEach(); this.entity = SchemaEntityFactory_1.default.Entity(this.schema); } static canSetDateAsDateObject() { //@ts-ignore this.entity.set('optionalBirthday', new Date()); } static failsValidationIfPassedString(fieldName, value) { const err = test_utils_1.assert.doesThrow(() => //@ts-ignore this.entity.set(fieldName, value)); __1.validationErrorAssert.assertError(err, { invalid: [fieldName] }); } static honorsRequired() { test_utils_1.assert.isFalse(this.entity.isValid()); this.entity.set('requiredBirthday', new Date().getTime()); test_utils_1.assert.isTrue(this.entity.isValid()); } } exports.default = AbstractDateFieldTest;