@juzi/wechaty
Version:
Wechaty is a RPA SDK for Chatbot Makers.
53 lines • 2.23 kB
JavaScript
;
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