From b4350278a073c364bb6f1af2f35a06e2c740e4dd Mon Sep 17 00:00:00 2001 From: karsten13 Date: Tue, 21 Sep 2021 23:48:29 +0200 Subject: [PATCH] first tests --- js/logger.js | 4 ++-- package.json | 3 +++ tests/configs/modules/display.js | 14 ++++++------ tests/e2e/mock-console.js | 9 ++++++++ tests/e2e/modules.js | 37 ++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 tests/e2e/mock-console.js create mode 100644 tests/e2e/modules.js diff --git a/js/logger.js b/js/logger.js index d469e702..16e310e8 100644 --- a/js/logger.js +++ b/js/logger.js @@ -35,8 +35,8 @@ groupCollapsed: Function.prototype.bind.call(console.groupCollapsed, console), groupEnd: Function.prototype.bind.call(console.groupEnd, console), time: Function.prototype.bind.call(console.time, console), - timeEnd: Function.prototype.bind.call(console.timeEnd, console), - timeStamp: Function.prototype.bind.call(console.timeStamp, console) + timeEnd: Function.prototype.bind.call(console.timeEnd, console) + // timeStamp: Function.prototype.bind.call(console.timeStamp, console) }; logLevel.setLogLevel = function (newLevel) { diff --git a/package.json b/package.json index 5d15a245..601fe53b 100644 --- a/package.json +++ b/package.json @@ -120,6 +120,9 @@ }, { "displayName": "e2e", + "setupFilesAfterEnv": [ + "/tests/e2e/mock-console.js" + ], "testMatch": [ "**/tests/e2e/**/*.[jt]s?(x)" ], diff --git a/tests/configs/modules/display.js b/tests/configs/modules/display.js index 070dc9e5..b9facce3 100644 --- a/tests/configs/modules/display.js +++ b/tests/configs/modules/display.js @@ -3,7 +3,13 @@ * By Rejas * MIT Licensed. */ -let config = require(process.cwd() + "/tests/configs/default.js").configFactory({ +let config = { + port: 8080, + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], + language: "en", + timeFormat: 24, + units: "metric", + modules: [ { module: "helloworld", @@ -21,11 +27,7 @@ let config = require(process.cwd() + "/tests/configs/default.js").configFactory( } } ] -}); - -config.electronOptions.fullscreen = false; -config.electronOptions.width = 800; -config.electronOptions.height = 600; +}; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") { diff --git a/tests/e2e/mock-console.js b/tests/e2e/mock-console.js new file mode 100644 index 00000000..2d6751cd --- /dev/null +++ b/tests/e2e/mock-console.js @@ -0,0 +1,9 @@ +global.console = { + log: console.log, + dir: console.dir, + // error: jest.fn(), + error: console.error, + warn: console.warn, + info: console.info, + debug: console.debug +}; diff --git a/tests/e2e/modules.js b/tests/e2e/modules.js new file mode 100644 index 00000000..e4856a52 --- /dev/null +++ b/tests/e2e/modules.js @@ -0,0 +1,37 @@ +const jsdom = require("jsdom"); +const fetch = require("node-fetch"); +const helpers = require("./global-setup"); +let app = null; + +describe("test headers", function () { + beforeAll(function () { + // todo: require is not defined ... + // jest.mock("logger"); + app = helpers.startApplication("tests/configs/modules/display.js"); + // app = helpers.startApplication("config/config.js"); + }); + afterAll(function () { + helpers.stopApplication(app); + }); + + it("test", function (done) { + jsdom.JSDOM.fromURL("http://localhost:8080", { resources: "usable", runScripts: "dangerously" }).then((dom) => { + // console.log(dom.serialize()); + dom.window.onload = function () { + const doc = dom.window.document; + console.log(doc.querySelector("title").textContent); + const children = doc.body.getElementsByTagName("*"); + for (var i = 0, length = children.length; i < length; i++) { + child = children[i]; + if (child.id !== "") console.dir(child.id); + } + console.log(doc.querySelector("#module_0_helloworld .module-header").textContent); + // result ist leider lowercase wegen fehlendem css, siehe https://stackoverflow.com/questions/10318330/how-do-you-add-stylesheets-to-jsdom + // const elem = doc.getElementById("module_0_helloworld"); + // console.dir(elem); + done(); + }; + }); + // done(); + }); +});