@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
JavaScript
;
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;