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
JavaScript
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);
}
);
}
);