Add jest config and test environment to launch app

This commit is contained in:
TC
2020-05-01 18:33:43 +02:00
parent 736a706801
commit bce5b7d8eb
2 changed files with 52 additions and 0 deletions

45
tests/environment.js Normal file
View File

@ -0,0 +1,45 @@
const path = require("path");
const getPort = require("get-port");
const NodeEnvironment = require("jest-environment-node");
const { Application } = require("spectron");
class TestEnvironment extends NodeEnvironment {
constructor(config) {
super(config);
}
async setup() {
await super.setup();
const electronPath = path.resolve(
__dirname,
"..",
"node_modules",
".bin",
"electron"
);
const appPath = path.resolve(__dirname, "..");
const port = await getPort();
this.global.__APP__ = new Application({
path: electronPath,
args: [appPath],
port,
});
await this.global.__APP__.start();
const { client } = this.global.__APP__;
await client.waitUntilWindowLoaded();
}
async teardown() {
await this.global.__APP__.stop();
await super.teardown();
}
runScript(script) {
return super.runScript(script);
}
}
module.exports = TestEnvironment;