nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
65 lines (64 loc) • 3.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const chai_1 = require("chai");
const mocha_1 = require("mocha");
const index_1 = require("./index");
const plugin_1 = require("./plugin");
(0, mocha_1.describe)("PluginSystem", function () {
// Describe the required Test:
(0, mocha_1.it)("List Plugins", function () {
(0, chai_1.assert)((0, plugin_1.allPlugins)().length == 3, "There Should be to Plugins");
});
(0, mocha_1.describe)("load single Plugins", function () {
(0, mocha_1.it)("by-name", function () {
delete require.cache[require.resolve("../index.nodejs")];
const nope = require("../index.nodejs");
(0, plugin_1.installPlugins)(nope, "hello", false);
delete require.cache[require.resolve("../index.nodejs")];
});
(0, mocha_1.it)("by-path", function () {
delete require.cache[require.resolve("../index.nodejs")];
const nope = require("../index.nodejs");
(0, plugin_1.installPlugins)(nope, "plugins.availablePlugins.hello", false);
delete require.cache[require.resolve("../index.nodejs")];
});
(0, mocha_1.it)("by-plugin", function () {
delete require.cache[require.resolve("../index.nodejs")];
const nope = require("../index.nodejs");
(0, plugin_1.installPlugins)(nope, index_1.availablePlugins.hello, false);
delete require.cache[require.resolve("../index.nodejs")];
});
(0, mocha_1.it)("dynamic-plugin", function () {
delete require.cache[require.resolve("../index.nodejs")];
const nope = require("../index.nodejs");
const extend = (0, plugin_1.plugin)("generateId", (org) => {
return [
{
adapted: (...args) => {
return org(...args);
},
name: "generateId",
path: "generateId",
},
];
});
(0, plugin_1.installPlugins)(nope, extend, false);
delete require.cache[require.resolve("../index.nodejs")];
});
});
(0, mocha_1.describe)("load single Plugins", function () {
(0, mocha_1.it)("single-list-item", function () {
delete require.cache[require.resolve("../index.nodejs")];
const nope = require("../index.nodejs");
(0, plugin_1.installPlugins)(nope, ["hello"], false);
delete require.cache[require.resolve("../index.nodejs")];
});
(0, mocha_1.it)("by-path", function () {
delete require.cache[require.resolve("../index.nodejs")];
const nope = require("../index.nodejs");
(0, plugin_1.installPlugins)(nope, ["hello", "plugins.availablePlugins.hello", index_1.availablePlugins.hello], false);
delete require.cache[require.resolve("../index.nodejs")];
});
});
});