UNPKG

@sprucelabs/schema

Version:

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

26 lines (25 loc) • 1.01 kB
import { assert } from '@sprucelabs/test-utils'; import { validationErrorAssert } from '../index.js'; import AbstractSchemaTest from '../AbstractSchemaTest.js'; import SchemaEntityFactory from '../factories/SchemaEntityFactory.js'; export default class AbstractDateFieldTest extends AbstractSchemaTest { static async beforeEach() { await super.beforeEach(); this.entity = SchemaEntityFactory.Entity(this.schema); } static canSetDateAsDateObject() { //@ts-ignore this.entity.set('optionalBirthday', new Date()); } static failsValidationIfPassedString(fieldName, value) { const err = assert.doesThrow(() => //@ts-ignore this.entity.set(fieldName, value)); validationErrorAssert.assertError(err, { invalid: [fieldName] }); } static honorsRequired() { assert.isFalse(this.entity.isValid()); this.entity.set('requiredBirthday', new Date().getTime()); assert.isTrue(this.entity.isValid()); } }