@gabliam/web-core
Version:
Gabliam plugin for add web-core
47 lines (46 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebPluginTest = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@gabliam/core");
const testing_1 = require("@gabliam/core/src/testing");
const supertest_1 = tslib_1.__importDefault(require("supertest"));
const __1 = require("..");
const SUPERTEST = Symbol('SUPERTEST');
class WebPluginTest extends testing_1.GabliamTest {
constructor(plugins = [], gab) {
let gabliam;
if (gab) {
gabliam = gab;
}
else {
gabliam = new core_1.Gabliam();
}
if (Array.isArray(plugins) && plugins.length) {
gabliam.addPlugins(...plugins);
}
super(gabliam);
}
async build() {
this.addConf('application.web.verbose', false);
await super.build();
const container = this.gab.container;
const listener = container.get(__1.REQUEST_LISTENER_CREATOR);
container.rebind(__1.REQUEST_LISTENER_CREATOR).toConstantValue(() => {
const s = (0, supertest_1.default)(listener());
container.bind(SUPERTEST).toConstantValue(s);
return s;
});
}
async start() {
await this.gab.start();
}
async buildAndStart() {
await this.build();
await this.start();
}
supertest() {
return this.gab.container.get(SUPERTEST);
}
}
exports.WebPluginTest = WebPluginTest;