qcobjects
Version:
QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.
40 lines (29 loc) • 1.44 kB
text/typescript
#!/usr/bin/env node
/* eslint-disable no-undef */
import {Class, ClassFactory, logger, Package, __make_global__, _top, _QC_PACKAGES, _QC_CLASSES, global} from "../src/QCObjects";
describe("qcobjects", function () {
logger.debugEnabled=true;
logger.infoEnabled=true;
logger.warnEnabled=true;
it("Class Factory using Class Function, no parent class Spec", () => {
const MyClass = Class ("MyClass", class {}, {});
expect(ClassFactory("MyClass")).toBe( MyClass );
logger.debug("Class Factory using Class Function, no parent class Spec... OK");
});
it("Global Class Factory using Class Function, no parent class Spec", () => {
const classFactory = Class ("MyClass", class {}, {});
Package("com.qcobjects", [classFactory]);
expect((global as any).MyClass).toBe( classFactory );
logger.debug("Global Class Factory using Class Function, no parent class Spec... OK");
});
it("Class Factory inside a package, no parent class Spec", () => {
Package("com.qcobjects.tests",[
Class("MyNewClass",class {},{
propertyName1:"propertyValue1",
})
]);
const classFactory = ClassFactory("com.qcobjects.tests.MyNewClass");
expect(ClassFactory("MyNewClass")).toBe( classFactory );
logger.debug("Class Factory inside a package, no parent class Spec... OK");
});
});