|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- * Magic Mirror Global Setup Test Suite
- *
- * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
- * MIT Licensed.
- */
- const Application = require("spectron").Application;
- const assert = require("assert");
- const path = require("path");
- const EventEmitter = require("events");
-
- exports.getElectronPath = function () {
- let electronPath = path.join(__dirname, "..", "..", "node_modules", ".bin", "electron");
- if (process.platform === "win32") {
- electronPath += ".cmd";
- }
- return electronPath;
- };
-
- // Set timeout - if this is run as CI Job, increase timeout
- exports.setupTimeout = function (test) {
- if (process.env.CI) {
- jest.setTimeout(30000);
- } else {
- jest.setTimeout(10000);
- }
- };
-
- exports.startApplication = function (options) {
- const emitter = new EventEmitter();
- emitter.setMaxListeners(100);
-
- options.path = exports.getElectronPath();
- if (process.env.CI) {
- options.startTimeout = 30000;
- }
-
- const app = new Application(options);
- return app.start().then(function () {
- assert.strictEqual(app.isRunning(), true);
- return app;
- });
- };
-
- exports.stopApplication = function (app) {
- if (!app || !app.isRunning()) {
- return;
- }
-
- return app.stop().then(function () {
- assert.strictEqual(app.isRunning(), false);
- });
- };
|