UNPKG

blow-data

Version:
56 lines (49 loc) 1.51 kB
/// <reference path="../typings/tsd.d.ts" /> 'use strict' import * as chai from 'chai'; import {ModelPropertyMetadata} from '../src/ModelPropertyMetadata'; import * as helpers from './helpers'; const expect = chai.expect; describe('ModelPropertyMetadata', () => { helpers.checkClassExport(ModelPropertyMetadata, {name: 'Test', type: String}); helpers.checkAttributes(ModelPropertyMetadata, { default: { args: { name: 'name', type: String }, expected: { name: 'name', id: false, default: undefined, columnName: 'name', index: false } }, custom: { args: { name: 'name', type: Number, id: true, columnName: 'lastname', index: true }, expected: { name: 'name', id: true, columnName: 'lastname', index: true } } }); it('default value should be returned as function if defined', () => { let instance = new ModelPropertyMetadata({name: 'name', type: String}); expect(instance.default).to.be.equal(undefined); instance = new ModelPropertyMetadata({name: 'name', type: String, default: true}); expect(instance.default).to.be.an('function'); expect(instance.default()).to.be.equal(true); instance = new ModelPropertyMetadata({name: 'name', type: String, default: () => 1}); expect(instance.default).to.be.an('function'); expect(instance.default()).to.be.equal(1); }); });