From 7a5f360e6da7465d35bf053316d57b4dd7e44fe7 Mon Sep 17 00:00:00 2001 From: Tom Kirkpatrick Date: Wed, 19 Sep 2018 09:01:57 +0200 Subject: [PATCH] test(e2e): ensure tests are self contained Ensure that each of our e2e tests carries out its own full setup and teardown processes so that they can be run in isolation. --- test/e2e/e2e.spec.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/test/e2e/e2e.spec.js b/test/e2e/e2e.spec.js index e8769781..7d7a056b 100644 --- a/test/e2e/e2e.spec.js +++ b/test/e2e/e2e.spec.js @@ -6,10 +6,8 @@ jest.unmock('electron') jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000 -const delay = time => new Promise(resolve => setTimeout(resolve, time)) - describe('main window', function spec() { - beforeAll(async () => { + beforeEach(() => { this.app = new Application({ path: electronPath, args: [path.join(__dirname, '..', '..', 'app')] @@ -18,19 +16,24 @@ describe('main window', function spec() { return this.app.start() }) - afterAll(() => this.app && this.app.isRunning() && this.app.stop()) + afterEach(() => { + if (this.app && this.app.isRunning()) { + return 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 + + await client.waitUntilWindowLoaded() const logs = await client.getRenderProcessLogs() expect(logs).toHaveLength(0) })