summaryrefslogtreecommitdiff
path: root/tst/debug.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tst/debug.test.ts')
-rw-r--r--tst/debug.test.ts43
1 files changed, 43 insertions, 0 deletions
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);
+ });
+});