import { Application } from 'spectron' import electronPath from 'electron' import path from 'path' jest.unmock('electron') jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000 const delay = time => new Promise(resolve => setTimeout(resolve, time)) describe('main window', function spec() { beforeAll(async () => { this.app = new Application({ path: electronPath, args: [path.join(__dirname, '..', '..', 'app')] }) return this.app.start() }) afterAll(() => this.app && this.app.isRunning() && this.app.stop()) it('should open window', async () => { const { client, browserWindow } = this.app await client.waitUntilWindowLoaded() await delay(500) const title = await browserWindow.getTitle() expect(title).toBe('Zap') }) it("should haven't any logs in console of main window", async () => { const { client } = this.app const logs = await client.getRenderProcessLogs() expect(logs).toHaveLength(0) }) })