describe('leftpadesque/debug', () => { const originalEnv = process.env; beforeEach(() => { process.env = { ...originalEnv }; }); afterAll(() => { process.env = originalEnv; }); const load = async () => { jest.resetModules(); return await import('../lib/leftpadesque/debug'); }; test('prod env disables debug by default', async () => { process.env.ENVIRONMENT = 'prod'; delete process.env.DEBUG; const dbg = await load(); expect(dbg.isProd()).toBe(true); expect(dbg.isDebug()).toBe(false); }); test('DEBUG=y enables debug even in prod', async () => { process.env.ENVIRONMENT = 'production'; process.env.DEBUG = 'y'; const dbg = await load(); expect(dbg.isProd()).toBe(true); expect(dbg.isDebug()).toBe(true); }); test('dev env always enables debug', async () => { delete process.env.ENVIRONMENT; delete process.env.DEBUG; const dbg = await load(); expect(dbg.isProd()).toBe(false); expect(dbg.isDebug()).toBe(true); }); });