diff --git a/packages/insomnia-smoke-test/.babelrc b/packages/insomnia-smoke-test/.babelrc new file mode 100644 index 0000000000..09fb920a11 --- /dev/null +++ b/packages/insomnia-smoke-test/.babelrc @@ -0,0 +1,15 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "targets": { + "node": "12" + } + } + ] + ], + "plugins": [ + ["@babel/plugin-proposal-optional-chaining"] + ] +} diff --git a/packages/insomnia-smoke-test/core/app.test.js b/packages/insomnia-smoke-test/core/app.test.js index a6b4f9e545..cd0c458ac7 100644 --- a/packages/insomnia-smoke-test/core/app.test.js +++ b/packages/insomnia-smoke-test/core/app.test.js @@ -1,9 +1,8 @@ -const Application = require('spectron').Application; -// const fs = require('fs'); -const electronPath = require('../../insomnia-app/node_modules/electron'); -const path = require('path'); -const debug = require('../modules/debug'); -const client = require('../modules/client'); +import { Application } from 'spectron'; +import electronPath from '../../insomnia-app/node_modules/electron'; +import path from 'path'; +import * as debug from '../modules/debug'; +import * as client from '../modules/client'; describe('Application launch', function() { jest.setTimeout(50000); diff --git a/packages/insomnia-smoke-test/designer/app.test.js b/packages/insomnia-smoke-test/designer/app.test.js index 02bff33526..99a0947570 100644 --- a/packages/insomnia-smoke-test/designer/app.test.js +++ b/packages/insomnia-smoke-test/designer/app.test.js @@ -1,10 +1,10 @@ -const onboarding = require('../modules/onboarding'); -const client = require('../modules/client'); -const home = require('../modules/home'); +import * as onboarding from '../modules/onboarding'; +import * as client from '../modules/client'; +import * as home from '../modules/home'; -const Application = require('spectron').Application; -const electronPath = require('../../insomnia-app/node_modules/electron'); -const path = require('path'); +import { Application } from 'spectron'; +import electronPath from '../../insomnia-app/node_modules/electron'; +import path from 'path'; describe('Application launch', function() { jest.setTimeout(50000); diff --git a/packages/insomnia-smoke-test/modules/client.js b/packages/insomnia-smoke-test/modules/client.js index 06b09f2b19..ec2f9c650c 100644 --- a/packages/insomnia-smoke-test/modules/client.js +++ b/packages/insomnia-smoke-test/modules/client.js @@ -1,16 +1,11 @@ -const correctlyLaunched = async app => { +export const correctlyLaunched = async app => { await expect(app.browserWindow.isDevToolsOpened()).resolves.toBe(false); await expect(app.client.getWindowCount()).resolves.toBe(1); await expect(app.browserWindow.isMinimized()).resolves.toBe(false); await expect(app.browserWindow.isFocused()).resolves.toBe(true); }; -const resetToOnboarding = async app => { +export const resetToOnboarding = async app => { await app.webContents.executeJavaScript("localStorage['insomnia::meta::activity'] = null;"); await app.browserWindow.reload(); // reload for local storage clearing to take effect }; - -module.exports = { - correctlyLaunched, - resetToOnboarding, -}; diff --git a/packages/insomnia-smoke-test/modules/debug.js b/packages/insomnia-smoke-test/modules/debug.js index 61b6fb183b..08e6a7ad44 100644 --- a/packages/insomnia-smoke-test/modules/debug.js +++ b/packages/insomnia-smoke-test/modules/debug.js @@ -1,10 +1,10 @@ -const faker = require('faker'); +import faker from 'faker'; -const workspaceDropdownExists = async (app, workspaceName = 'Insomnia') => { +export const workspaceDropdownExists = async (app, workspaceName = 'Insomnia') => { await app.client.waitUntilTextExists('.workspace-dropdown', workspaceName); }; -const createNewRequest = async (app, name) => { +export const createNewRequest = async (app, name) => { await app.client.$('.sidebar .dropdown .fa-plus-circle').then(e => e.click()); await app.client @@ -41,46 +41,36 @@ const waitUntilRequestIsActive = async (app, name) => { await app.client.waitUntil(requestIsActive); }; -const typeInUrlBar = async (app, url) => { +export const typeInUrlBar = async (app, url) => { const urlEditor = await app.client.react$('RequestUrlBar'); await urlEditor.waitForExist(); await urlEditor.click(); await urlEditor.keys(url); }; -const clickSendRequest = async app => { +export const clickSendRequest = async app => { await app.client .react$('RequestUrlBar') .then(e => e.$('.urlbar__send-btn')) .then(e => e.click()); }; -const expect200 = async app => { +export const expect200 = async app => { const tag = await app.client.$('.response-pane .pane__header .tag.bg-success'); await tag.waitForDisplayed(); await expect(tag.getText()).resolves.toBe('200 OK'); }; -const getCsvViewer = async app => { +export const getCsvViewer = async app => { const csvViewer = await app.client.react$('ResponseCSVViewer'); await csvViewer.waitForDisplayed(); return csvViewer; }; -const getPdfCanvas = async app => { +export const getPdfCanvas = async app => { const pdfViewer = await app.client.react$('ResponsePDFViewer'); await pdfViewer.waitForDisplayed(); const canvas = await pdfViewer.$('.S-PDF-ID canvas'); await canvas.waitForDisplayed(); return canvas; }; - -module.exports = { - workspaceDropdownExists, - createNewRequest, - typeInUrlBar, - clickSendRequest, - expect200, - getCsvViewer, - getPdfCanvas, -}; diff --git a/packages/insomnia-smoke-test/modules/home.js b/packages/insomnia-smoke-test/modules/home.js index 6a2ff7e551..60a47cdb71 100644 --- a/packages/insomnia-smoke-test/modules/home.js +++ b/packages/insomnia-smoke-test/modules/home.js @@ -1,8 +1,4 @@ -const documentListingShown = async app => { +export const documentListingShown = async app => { const item = await app.client.$('.document-listing'); await item.waitForExist(); }; - -module.exports = { - documentListingShown, -}; diff --git a/packages/insomnia-smoke-test/modules/onboarding.js b/packages/insomnia-smoke-test/modules/onboarding.js index 07a32651a7..bb81a16ac1 100644 --- a/packages/insomnia-smoke-test/modules/onboarding.js +++ b/packages/insomnia-smoke-test/modules/onboarding.js @@ -1,26 +1,20 @@ -const welcomeMessageShown = async app => { +export const welcomeMessageShown = async app => { await app.client.waitUntilTextExists( '.onboarding__content__header h1', 'Welcome to Insomnia Designer', ); }; -const clickDontShare = async app => { +export const clickDontShare = async app => { await app.client .$('.onboarding__content__body') .then(e => e.$(`button=Don't share usage analytics`)) .then(e => e.click()); }; -const clickSkipImport = async app => { +export const clickSkipImport = async app => { await app.client .$('.onboarding__content__body') .then(e => e.$(`button=Skip`)) .then(e => e.click()); }; - -module.exports = { - welcomeMessageShown, - clickDontShare, - clickSkipImport, -};