UNPKG

@juzi/wechaty

Version:

Wechaty is a RPA SDK for Chatbot Makers.

53 lines 2.23 kB
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tstest_1 = require("tstest"); const poolify_js_1 = require("./poolify.js"); const wechatify_js_1 = require("./wechatify.js"); (0, tstest_1.test)('poolifyMixin()', async (t) => { class Life { meaning = 42; constructor() { } } class UserClassTest extends (0, poolify_js_1.poolifyMixin)(Life)() { id = 0; constructor() { super(); } } const meaningType = true; t.ok(meaningType, 'should get meaning type for class instance'); const poolGetType = true; t.ok(poolGetType, 'should get Life type for pool.get()'); const loadType = true; t.ok(loadType, 'should get UserClassTest type for load()'); }); (0, tstest_1.test)('poolifyMixin() pool', async (t) => { class Life { meaning = 42; } class UserClassTest extends (0, wechatify_js_1.wechatifyMixin)((0, poolify_js_1.poolifyMixin)(Life)()) { id = 0; constructor() { super(); } } const UserClass1 = (0, wechatify_js_1.wechatifyUserModule)(UserClassTest)({}); const UserClass2 = (0, wechatify_js_1.wechatifyUserModule)(UserClassTest)({}); t.equal(UserClass1.pool.size, 0, 'should be size 0 for class 1'); t.equal(UserClass2.pool.size, 0, 'should be size 0 for class 2'); UserClass1.load('id1'); t.equal(UserClass1.pool.size, 1, 'should be size 1 for class 1 after class1.load()'); t.equal(UserClass2.pool.size, 0, 'should be size 0 for class 2 after class1.load()'); UserClass2.load('id2'); t.equal(UserClass1.pool.size, 1, 'should be size 1 for class 1 after class2.load()'); t.equal(UserClass2.pool.size, 1, 'should be size 1 for class 2 after class2.load()'); }); (0, tstest_1.test)('static findAll()', async (t) => { class UserClassTest extends (0, wechatify_js_1.wechatifyMixin)((0, poolify_js_1.poolifyMixin)(Object)()) { static async findAll(id) { return this.load(id); } id = 0; constructor() { super(); } } const typeTest = true; t.ok(typeTest, 'should return the UserClassTest type'); }); //# sourceMappingURL=poolify.spec.js.map