UNPKG

@gabliam/web-core

Version:
47 lines (46 loc) 1.47 kB
"use strict"; 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;