Skip to content

Commit

Permalink
Remove Review app “port detection” checks for Jest
Browse files Browse the repository at this point in the history
Port detection has now been fixed in `jest-dev-server`: argos-ci/jest-puppeteer#518
  • Loading branch information
colinrotherham committed Feb 16, 2023
1 parent 27d62d7 commit 2f64997
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 51 deletions.
9 changes: 2 additions & 7 deletions config/jest/browser/close.mjs
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
import { teardown } from 'jest-environment-puppeteer'

import serverStop from '../server/stop.mjs'

/**
* Close browser
*/
export default async function browserClose () {
await Promise.all([
serverStop(), // Stop web server
teardown() // Close browser
])
export default async function browserOpen () {
await teardown() // Close browser, stop server
}
5 changes: 1 addition & 4 deletions config/jest/browser/open.mjs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { setup } from 'jest-environment-puppeteer'
import { downloadBrowser } from 'puppeteer/lib/esm/puppeteer/node/install.js'

import serverStart from '../server/start.mjs'

/**
* Open browser
*
Expand All @@ -20,6 +18,5 @@ export default async function browserOpen (jestConfig) {
}

await downloadBrowser() // Download browser
await serverStart() // Wait for web server
await setup(jestConfig) // Open browser
await setup(jestConfig) // Open browser, start server
}
38 changes: 3 additions & 35 deletions config/jest/server/start.mjs
Original file line number Diff line number Diff line change
@@ -1,42 +1,10 @@
import { getServers, setup } from 'jest-dev-server'
import waitOn from 'wait-on'
import { setup } from 'jest-dev-server'

import config from '../../index.js'

import serverStop from './stop.mjs'

const PORT = process.env.PORT || config.ports.test
import config from '../../../jest-dev-server.config.js'

/**
* Start web server
*/
export default async function serverStart () {
const servers = await getServers()

// Server start timeout
let timeout = 1000

// Server stopping?
if (servers.some(({ signalCode }) => signalCode === 'SIGTERM')) {
await serverStop() // Wait for server to stop
timeout = 0 // No need to wait for start
}

// Wait until ready check
const ready = ({ timeout = 30000 } = {}) => waitOn({
resources: [`tcp:${PORT}`],
timeout
})

// Wait until ready (or start up)
try {
await ready({ timeout })
} catch (error) {
await setup({
// Ensure PORT works (on Windows) + SIGINT/SIGTERM signal events
command: `cross-env-shell PORT=${PORT} node app/start.js`,
port: PORT
})
await ready()
}
await setup(config)
}
15 changes: 15 additions & 0 deletions jest-dev-server.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const { ports } = require('./config/index.js')

const PORT = process.env.PORT || ports.test

/**
* @type {import('jest-dev-server').JestDevServerOptions}
*/
module.exports = {
// Ensure PORT works (on Windows) + SIGINT/SIGTERM signal events
command: `cross-env-shell PORT=${PORT} node app/start.js`,
port: PORT,

// Skip when already running
usedPortAction: 'ignore'
}
11 changes: 10 additions & 1 deletion jest-puppeteer.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
const devServerOptions = require('./jest-dev-server.config.js')

module.exports = {
browserContext: 'incognito',
browserPerWorker: true,
Expand All @@ -9,6 +11,8 @@ module.exports = {
exitOnPageError: false,

/**
* Puppeteer launch options
*
* @type {import('puppeteer').PuppeteerLaunchOptions}
*/
launch: {
Expand All @@ -27,5 +31,10 @@ module.exports = {
'--no-startup-window'
],
waitForInitialPage: false
}
},

/**
* Development server options
*/
server: devServerOptions
}
3 changes: 1 addition & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,7 @@
"standard": "^17.0.0",
"stylelint": "^14.16.1",
"stylelint-config-gds": "^0.2.0",
"stylelint-order": "^6.0.2",
"wait-on": "^7.0.1"
"stylelint-order": "^6.0.2"
},
"overrides": {
"chokidar@^2": {
Expand Down

0 comments on commit 2f64997

Please sign in to comment.