Files
cypress/system-tests/test/system_node_spec.js

79 lines
2.2 KiB
JavaScript

const systemTests = require('../lib/system-tests').default
const execa = require('execa')
let expectedNodeVersion
let expectedNodePath
describe('e2e system node', () => {
before(async () => {
// Grab the system node version and path before running the tests.
expectedNodeVersion = (await execa('node', ['-v'])).stdout.slice(1)
expectedNodePath = (await execa('node', ['-e', 'console.log(process.execPath)'])).stdout
})
systemTests.setup()
it('uses system node when launching plugins file', async function () {
const { stderr } = await systemTests.exec(this, {
project: 'system-node',
userNodePath: expectedNodePath,
userNodeVersion: expectedNodeVersion,
config: {
nodeVersion: 'system',
env: {
expectedNodeVersion,
expectedNodePath,
},
},
spec: 'system.spec.js',
sanitizeScreenshotDimensions: true,
snapshot: true,
})
expect(stderr).to.contain(`Plugin Node version: ${expectedNodeVersion}`)
expect(stderr).to.contain('Plugin Electron version: undefined')
})
// TODO:(tgriesser) originally skipped this, not sure why
it.skip('uses bundled node when launching plugins file', async function () {
const { stderr } = await systemTests.exec(this, {
project: 'system-node',
config: {
nodeVersion: 'bundled',
env: {
expectedNodeVersion,
},
},
spec: 'bundled.spec.js',
sanitizeScreenshotDimensions: true,
snapshot: true,
})
expect(stderr).to.contain(`Plugin Node version: ${expectedNodeVersion}`)
expect(stderr).to.not.contain('Plugin Electron version: undefined')
})
it('uses default node when launching plugins file', async function () {
const { stderr } = await systemTests.exec(this, {
project: 'system-node',
userNodePath: expectedNodePath,
userNodeVersion: expectedNodeVersion,
config: {
env: {
expectedNodeVersion,
expectedNodePath,
},
},
spec: 'default.spec.js',
sanitizeScreenshotDimensions: true,
snapshot: true,
})
expect(stderr).to.contain(`Plugin Node version: ${expectedNodeVersion}`)
expect(stderr).to.contain('Plugin Electron version: undefined')
})
})