From 6d96697605f7e6ab4708610bd974f18ac088faa8 Mon Sep 17 00:00:00 2001 From: Viktor Pasynok Date: Mon, 4 Nov 2024 00:12:51 +0300 Subject: [PATCH] changed: debug output --- .../__snapshots__/up.debug.spec.ts.snap | 67 +++++++++++++++++++ src/compose/__tests__/up.debug.spec.ts | 16 +++-- src/compose/index.ts | 4 +- 3 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 src/compose/__tests__/__snapshots__/up.debug.spec.ts.snap diff --git a/src/compose/__tests__/__snapshots__/up.debug.spec.ts.snap b/src/compose/__tests__/__snapshots__/up.debug.spec.ts.snap new file mode 100644 index 0000000..553a91b --- /dev/null +++ b/src/compose/__tests__/__snapshots__/up.debug.spec.ts.snap @@ -0,0 +1,67 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`up.debug 1`] = ` +[ + "[2024-01-01T00:00:00.000Z] app-compose:", + "{ + "a": "idle", + "b": "idle", + "c": "idle" +}", +] +`; + +exports[`up.debug 2`] = ` +[ + "[2024-01-01T00:00:00.000Z] app-compose:", + "{ + "a": "pending", + "b": "idle", + "c": "idle" +}", +] +`; + +exports[`up.debug 3`] = ` +[ + "[2024-01-01T00:00:00.000Z] app-compose:", + "{ + "a": "pending", + "b": "idle", + "c": "pending" +}", +] +`; + +exports[`up.debug 4`] = ` +[ + "[2024-01-01T00:00:00.000Z] app-compose:", + "{ + "a": "done", + "b": "idle", + "c": "pending" +}", +] +`; + +exports[`up.debug 5`] = ` +[ + "[2024-01-01T00:00:00.000Z] app-compose:", + "{ + "a": "done", + "b": "idle", + "c": "done" +}", +] +`; + +exports[`up.debug 6`] = ` +[ + "[2024-01-01T00:00:00.000Z] app-compose:", + "{ + "a": "done", + "b": "off", + "c": "done" +}", +] +`; diff --git a/src/compose/__tests__/up.debug.spec.ts b/src/compose/__tests__/up.debug.spec.ts index ac7f9c7..ca14912 100644 --- a/src/compose/__tests__/up.debug.spec.ts +++ b/src/compose/__tests__/up.debug.spec.ts @@ -3,6 +3,9 @@ import { compose } from '../index'; test('up.debug', async () => { const consoleLogSpy = vi.spyOn(console, 'debug').mockImplementation(() => {}); + const fixedDate = new Date('2024-01-01T00:00:00.000Z'); + + vi.setSystemTime(fixedDate); const a = createContainer({ id: 'a', start: () => ({ api: null }) }); const b = createContainer({ id: 'b', dependsOn: [a], enable: () => false, start: () => ({ api: null }) }); @@ -10,12 +13,13 @@ test('up.debug', async () => { await compose.up([a, b, c], { debug: true }); - expect(consoleLogSpy.mock.calls[0]).toStrictEqual([{ a: 'idle', b: 'idle', c: 'idle' }]); - expect(consoleLogSpy.mock.calls[1]).toStrictEqual([{ a: 'pending', b: 'idle', c: 'idle' }]); - expect(consoleLogSpy.mock.calls[2]).toStrictEqual([{ a: 'pending', b: 'idle', c: 'pending' }]); - expect(consoleLogSpy.mock.calls[3]).toStrictEqual([{ a: 'done', b: 'idle', c: 'pending' }]); - expect(consoleLogSpy.mock.calls[4]).toStrictEqual([{ a: 'done', b: 'idle', c: 'done' }]); - expect(consoleLogSpy.mock.calls[5]).toStrictEqual([{ a: 'done', b: 'off', c: 'done' }]); + expect(consoleLogSpy.mock.calls[0]).toMatchSnapshot(); + expect(consoleLogSpy.mock.calls[1]).toMatchSnapshot(); + expect(consoleLogSpy.mock.calls[2]).toMatchSnapshot(); + expect(consoleLogSpy.mock.calls[3]).toMatchSnapshot(); + expect(consoleLogSpy.mock.calls[4]).toMatchSnapshot(); + expect(consoleLogSpy.mock.calls[5]).toMatchSnapshot(); consoleLogSpy.mockRestore(); + vi.useRealTimers(); }); diff --git a/src/compose/index.ts b/src/compose/index.ts index c6adb5c..7456ad2 100644 --- a/src/compose/index.ts +++ b/src/compose/index.ts @@ -43,7 +43,9 @@ const upFn = (containers: AnyContainer[], config?: { debug?: boolean }) => { }); if (config?.debug) { - $result.watch((x) => console.debug(x.statuses)); + $result.watch((x) => { + console.debug(`[${new Date().toISOString()}] app-compose:`, JSON.stringify(x.statuses, null, 2)); + }); } for (const container of containers) {