Some checks failed
CI (PR) / format (pull_request) Successful in 1m31s
PR Ready + auto-merge / ready-automerge (pull_request) Failing after 15s
CI (PR) / scope (pull_request) Successful in 47s
CI (PR) / lint (pull_request) Successful in 1m8s
CI (PR) / docs-guards (pull_request) Successful in 9s
CI (PR) / plans-only-closes (pull_request) Successful in 10s
CI (PR) / typecheck (pull_request) Successful in 52s
CI (PR) / knip (pull_request) Successful in 51s
CI (PR) / unit (pull_request) Successful in 47s
CI (PR) / cycles (pull_request) Failing after 14m21s
CI (PR) / int (pull_request) Has been cancelled
CI (PR) / build (pull_request) Has been cancelled
CI (PR) / e2e (1) (pull_request) Has been cancelled
CI (PR) / e2e (2) (pull_request) Has been cancelled
CI (PR) / checks (pull_request) Has been cancelled
44 lines
1.6 KiB
TypeScript
44 lines
1.6 KiB
TypeScript
// @vitest-environment node
|
|
|
|
import { afterEach, describe, expect, it } from 'vitest'
|
|
|
|
import { ALLOW_REMOTE_DB_FLAG, isRemoteDbOverrideSet, isTruthyEnv } from '../../scripts/lib/cli.mjs'
|
|
|
|
describe('isTruthyEnv (OPS52-media-guard — one spelling of the true/1 intent-flag semantics)', () => {
|
|
it('accepts exactly true and 1', () => {
|
|
expect(isTruthyEnv('true')).toBe(true)
|
|
expect(isTruthyEnv('1')).toBe(true)
|
|
})
|
|
|
|
it('refuses every other value — including case variants and empty/absent', () => {
|
|
for (const value of ['TRUE', 'True', 'yes', 'on', '0', 'false', '', ' ', '2']) {
|
|
expect(isTruthyEnv(value), JSON.stringify(value)).toBe(false)
|
|
}
|
|
expect(isTruthyEnv(undefined)).toBe(false)
|
|
})
|
|
})
|
|
|
|
describe('isRemoteDbOverrideSet (behavior preserved through the delegation refactor)', () => {
|
|
const original = process.env[ALLOW_REMOTE_DB_FLAG]
|
|
|
|
afterEach(() => {
|
|
if (original === undefined) delete process.env[ALLOW_REMOTE_DB_FLAG]
|
|
else process.env[ALLOW_REMOTE_DB_FLAG] = original
|
|
})
|
|
|
|
it('still passes for true/1', () => {
|
|
process.env[ALLOW_REMOTE_DB_FLAG] = 'true'
|
|
expect(isRemoteDbOverrideSet()).toBe(true)
|
|
process.env[ALLOW_REMOTE_DB_FLAG] = '1'
|
|
expect(isRemoteDbOverrideSet()).toBe(true)
|
|
})
|
|
|
|
it('still refuses TRUE/yes/empty/absent', () => {
|
|
for (const value of ['TRUE', 'yes', '', '0', 'false']) {
|
|
process.env[ALLOW_REMOTE_DB_FLAG] = value
|
|
expect(isRemoteDbOverrideSet(), JSON.stringify(value)).toBe(false)
|
|
}
|
|
delete process.env[ALLOW_REMOTE_DB_FLAG]
|
|
expect(isRemoteDbOverrideSet()).toBe(false)
|
|
})
|
|
})
|