UNPKG

class-o-mat

Version:

ALPHA VERSION ONLY: class-o-mats will help to create getter-setter functionality with validations that can be attached to a container class for easier coding. Some basic validations are included. class-o-mats also has the ability to store params as bloc

63 lines (50 loc) 1.59 kB
import Bunyan from 'bunyan'; const log = Bunyan.createLogger({name: "NestedUsageTest"}); import 'mocha'; import { expect } from 'chai'; import { NONE, TEST_CLASS, CLASS_O_MAT, FIELD, CHILD_ADDER, COPY, STACK, QUEUE } from '../src/constants'; import ClassOMat from '../src/class-o-mat'; describe(`Test of the fallback option when getting a value returns null.`, ()=> { class TestClass { TYPE = 'TEST' } var classOMat; var testClass; it(`create a basic classOMat created class`, ()=>{ classOMat = new ClassOMat(); classOMat.BaseClass(TestClass) .$(); testClass = new (classOMat.$())(); expect(classOMat.TYPE).to.equal(CLASS_O_MAT); expect(testClass.TYPE).to.equal('TEST'); } ); it(`add some fields to the classOMat and give some a fallback option.`, ()=>{ classOMat.field('main').default('twenty') .field('main1').fallback('main') .field('main2').fallback('main1'); testClass = new (classOMat.$())(); expect(testClass.main()).to.equal('twenty'); expect(testClass.main1()).to.equal('twenty'); expect(testClass.main2()).to.equal('twenty'); testClass.main2(100); expect(testClass.main2()).to.equal(100); testClass.main(77); expect(testClass.main()).to.equal(77); expect(testClass.main1()).to.equal(77); expect(testClass.main2()).to.equal(100); } ); } );