Files
cypress/scripts/unit/konfig-spec.js
renovate[bot] eab801ae3f chore(deps): Update dependency eslint to version 6.8.0 🌟 (#6509)
* chore(deps): Update eslint to 6.8.0 🌟

* fix missing dangling commas for linter

* fix missing dangling commas for linter

* more lint fixes

* yarn lock

Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2020-02-25 00:09:47 +06:30

47 lines
1.3 KiB
JavaScript

const la = require('lazy-ass')
const is = require('check-more-types')
const { join } = require('path')
/* eslint-env mocha */
describe('konfig check', () => {
/*
script tests should NOT suddenly change the current working directory to
packages/server - otherwise the local path filenames might be all wrong
and unexpected. The current working directory changes when we
require `packages/server/lib/konfig` which in turn requires
`lib/cwd` which changes CWD.
From the scripts unit tests we should not use `lib/konfig` directly,
instead we should use `binary/get-config` script to get the konfig function.
*/
let cwd
before(() => {
cwd = process.cwd()
la(
!cwd.includes(join('packages', 'server')),
'process CWD is set to',
cwd,
'for some reason',
)
// if the above assertion breaks, it means some script in binary scripts
// loads "lib/konfig" directly, which unexpectedly changes the CWD.
})
it('does not change CWD on load', () => {
const konfig = require('../binary/get-config')()
const cwdAfter = process.cwd()
la(
cwd === cwdAfter,
'previous cwd',
cwd,
'differs after loading konfig',
cwdAfter,
)
la(is.fn(konfig), 'expected konfig to be a function', konfig)
})
})