From 666674327f009e9b1013218fc384f193b64c6997 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 14 Dec 2025 22:39:18 -0800 Subject: Adds unit tests --- tst/debug.test.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tst/debug.test.ts (limited to 'tst/debug.test.ts') diff --git a/tst/debug.test.ts b/tst/debug.test.ts new file mode 100644 index 0000000..c4274c9 --- /dev/null +++ b/tst/debug.test.ts @@ -0,0 +1,43 @@ +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); + }); +}); -- cgit v1.2.3-70-g09d2