@atlassian/clientside-extensions-debug 2.4.1 → 2.5.0-84fa90d-kwd5ix2w

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/cjs/__mocks__/debug-state.mock.js +14 -0
  2. package/dist/cjs/__mocks__/debug-state.mock.js.map +1 -0
  3. package/dist/cjs/__mocks__/debug-subjects.mock.js +8 -0
  4. package/dist/cjs/__mocks__/debug-subjects.mock.js.map +1 -0
  5. package/dist/cjs/debug-state.js +23 -12
  6. package/dist/cjs/debug-state.js.map +1 -1
  7. package/dist/cjs/debug-subjects.js +4 -2
  8. package/dist/cjs/debug-subjects.js.map +1 -1
  9. package/dist/cjs/debug.js +3 -2
  10. package/dist/cjs/debug.js.map +1 -1
  11. package/dist/cjs/index.js +1 -0
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/logger/console.js +3 -2
  14. package/dist/cjs/logger/console.js.map +1 -1
  15. package/dist/cjs/logger/default-logger.js +7 -5
  16. package/dist/cjs/logger/default-logger.js.map +1 -1
  17. package/dist/cjs/logger/logger.js +1 -1
  18. package/dist/cjs/logger/logger.js.map +1 -1
  19. package/dist/esm/__mocks__/debug-state.mock.js +7 -0
  20. package/dist/esm/__mocks__/debug-state.mock.js.map +1 -0
  21. package/dist/esm/__mocks__/debug-subjects.mock.js +4 -0
  22. package/dist/esm/__mocks__/debug-subjects.mock.js.map +1 -0
  23. package/dist/esm/debug-state.js.map +1 -1
  24. package/dist/esm/debug-subjects.js.map +1 -1
  25. package/dist/esm/logger/console.js.map +1 -1
  26. package/dist/types/__mocks__/debug-state.mock.d.ts +8 -0
  27. package/dist/types/__mocks__/debug-state.mock.d.ts.map +1 -0
  28. package/dist/types/__mocks__/debug-subjects.mock.d.ts +5 -0
  29. package/dist/types/__mocks__/debug-subjects.mock.d.ts.map +1 -0
  30. package/dist/types/debug-state.d.ts.map +1 -1
  31. package/dist/types/logger/console.d.ts.map +1 -1
  32. package/dist/types/logger/default-logger.d.ts.map +1 -1
  33. package/lib/debug-state-env.test.ts +2 -2
  34. package/lib/debug-subjects.ts +2 -2
  35. package/lib/logger/console.ts +4 -1
  36. package/package.json +6 -5
  37. package/dist/cjs/debug-state-env.test.js +0 -63
  38. package/dist/cjs/debug-state-env.test.js.map +0 -1
  39. package/dist/cjs/debug-state.test.js +0 -66
  40. package/dist/cjs/debug-state.test.js.map +0 -1
  41. package/dist/cjs/debug-subjects.test.js +0 -35
  42. package/dist/cjs/debug-subjects.test.js.map +0 -1
  43. package/dist/cjs/debug.test.js +0 -75
  44. package/dist/cjs/debug.test.js.map +0 -1
  45. package/dist/cjs/logger/console.test.js +0 -200
  46. package/dist/cjs/logger/console.test.js.map +0 -1
  47. package/dist/esm/debug-state-env.test.js +0 -42
  48. package/dist/esm/debug-state-env.test.js.map +0 -1
  49. package/dist/esm/debug-state.test.js +0 -63
  50. package/dist/esm/debug-state.test.js.map +0 -1
  51. package/dist/esm/debug-subjects.test.js +0 -33
  52. package/dist/esm/debug-subjects.test.js.map +0 -1
  53. package/dist/esm/debug.test.js +0 -73
  54. package/dist/esm/debug.test.js.map +0 -1
  55. package/dist/esm/logger/console.test.js +0 -198
  56. package/dist/esm/logger/console.test.js.map +0 -1
  57. package/dist/types/debug-state-env.test.d.ts +0 -2
  58. package/dist/types/debug-state-env.test.d.ts.map +0 -1
  59. package/dist/types/debug-state.test.d.ts +0 -2
  60. package/dist/types/debug-state.test.d.ts.map +0 -1
  61. package/dist/types/debug-subjects.test.d.ts +0 -2
  62. package/dist/types/debug-subjects.test.d.ts.map +0 -1
  63. package/dist/types/debug.test.d.ts +0 -2
  64. package/dist/types/debug.test.d.ts.map +0 -1
  65. package/dist/types/logger/console.test.d.ts +0 -2
  66. package/dist/types/logger/console.test.d.ts.map +0 -1
@@ -1,63 +0,0 @@
1
- /* eslint-disable no-underscore-dangle, jest/no-standalone-expect */
2
- import cases from 'jest-in-case';
3
- import { isDebugEnabled, isDiscoveryEnabled, isLoggingEnabled, isValidationEnabled, getLogLevel, setLogLevel } from './debug-state';
4
- import { LogLevel } from './logger/logger';
5
- describe('debug utils', () => {
6
- beforeEach(() => {
7
- window.____c_p_d = false;
8
- });
9
- cases('should be active if respective flag is set to TRUE', (opts) => {
10
- expect(opts.isUtil()).toBe(false);
11
- // switch flag to TRUE
12
- window.____c_p_d = { [opts.key]: true };
13
- expect(opts.isUtil()).toBe(true);
14
- // switch ALL false
15
- window.____c_p_d = false;
16
- expect(opts.isUtil()).toBe(false);
17
- // switch ALL true
18
- window.____c_p_d = true;
19
- expect(opts.isUtil()).toBe(true);
20
- }, {
21
- isDebugEnabled: { isUtil: isDebugEnabled, key: 'debug' },
22
- isLoggingEnabled: { isUtil: isLoggingEnabled, key: 'logging' },
23
- isValidationEnabled: { isUtil: isValidationEnabled, key: 'validation' },
24
- isDiscoveryEnabled: { isUtil: isDiscoveryEnabled, key: 'discovery' },
25
- });
26
- describe('log levels', () => {
27
- let prevDebugState;
28
- beforeEach(() => {
29
- prevDebugState = window.____c_p_d;
30
- });
31
- afterEach(() => {
32
- window.____c_p_d = prevDebugState;
33
- });
34
- it('should allow to change the default log level using utils', () => {
35
- expect(getLogLevel()).toBe(LogLevel.info);
36
- setLogLevel(LogLevel.debug);
37
- expect(getLogLevel()).toBe(LogLevel.debug);
38
- });
39
- it('should allow to change log level using global variable', () => {
40
- // Change with enum
41
- window.____c_p_d.logLevel = LogLevel.error;
42
- expect(getLogLevel()).toBe(LogLevel.error);
43
- // Change with string value
44
- window.____c_p_d.logLevel = 'warn';
45
- expect(getLogLevel()).toBe(LogLevel.warn);
46
- });
47
- it('should fallback to a default "INFO" level when using unsupported runtime value', () => {
48
- window.____c_p_d.logLevel = 'show-me-all-the-things';
49
- expect(getLogLevel()).toBe(LogLevel.info);
50
- });
51
- });
52
- describe('compatibility mode', () => {
53
- it('should fallback to a default "INFO" level when "logLevel" property is missing e.g. CSE < 2.1.0', () => {
54
- Object.defineProperty(window, '____c_p_d', {
55
- value: {},
56
- configurable: true,
57
- writable: true,
58
- });
59
- expect(getLogLevel()).toBe(LogLevel.info);
60
- });
61
- });
62
- });
63
- //# sourceMappingURL=debug-state.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-state.test.js","sourceRoot":"","sources":["../../lib/debug-state.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle, jest/no-standalone-expect */\nimport cases from 'jest-in-case';\nimport type { ExposedClientExtensionDebug } from './debug-state';\nimport { isDebugEnabled, isDiscoveryEnabled, isLoggingEnabled, isValidationEnabled, getLogLevel, setLogLevel } from './debug-state';\nimport { LogLevel } from './logger/logger';\n\ndescribe('debug utils', () => {\n beforeEach(() => {\n (window.____c_p_d as unknown) = false;\n });\n\n cases(\n 'should be active if respective flag is set to TRUE',\n (opts) => {\n expect(opts.isUtil()).toBe(false);\n\n // switch flag to TRUE\n (window.____c_p_d as unknown) = { [opts.key]: true };\n\n expect(opts.isUtil()).toBe(true);\n\n // switch ALL false\n (window.____c_p_d as unknown) = false;\n\n expect(opts.isUtil()).toBe(false);\n\n // switch ALL true\n (window.____c_p_d as unknown) = true;\n\n expect(opts.isUtil()).toBe(true);\n },\n {\n isDebugEnabled: { isUtil: isDebugEnabled, key: 'debug' },\n isLoggingEnabled: { isUtil: isLoggingEnabled, key: 'logging' },\n isValidationEnabled: { isUtil: isValidationEnabled, key: 'validation' },\n isDiscoveryEnabled: { isUtil: isDiscoveryEnabled, key: 'discovery' },\n },\n );\n\n describe('log levels', () => {\n let prevDebugState: ExposedClientExtensionDebug;\n\n beforeEach(() => {\n prevDebugState = window.____c_p_d;\n });\n\n afterEach(() => {\n window.____c_p_d = prevDebugState;\n });\n\n it('should allow to change the default log level using utils', () => {\n expect(getLogLevel()).toBe(LogLevel.info);\n\n setLogLevel(LogLevel.debug);\n\n expect(getLogLevel()).toBe(LogLevel.debug);\n });\n\n it('should allow to change log level using global variable', () => {\n // Change with enum\n (window.____c_p_d.logLevel as LogLevel) = LogLevel.error;\n expect(getLogLevel()).toBe(LogLevel.error);\n\n // Change with string value\n (window.____c_p_d.logLevel as string) = 'warn';\n expect(getLogLevel()).toBe(LogLevel.warn);\n });\n\n it('should fallback to a default \"INFO\" level when using unsupported runtime value', () => {\n (window.____c_p_d.logLevel as string) = 'show-me-all-the-things';\n\n expect(getLogLevel()).toBe(LogLevel.info);\n });\n });\n\n describe('compatibility mode', () => {\n it('should fallback to a default \"INFO\" level when \"logLevel\" property is missing e.g. CSE < 2.1.0', () => {\n Object.defineProperty(window, '____c_p_d', {\n value: {},\n configurable: true,\n writable: true,\n });\n\n expect(getLogLevel()).toBe(LogLevel.info);\n });\n });\n});\n"]}
@@ -1,33 +0,0 @@
1
- import { Subject } from '@atlassian/clientside-extensions-base';
2
- import { observeDebugSubject, registerDebugSubject } from './debug-subjects';
3
- describe('debug-subject', () => {
4
- const debugFactory = () => new Subject();
5
- describe('registerDebugSubject', () => {
6
- it('should create an register a subject under a given namespace', () => {
7
- const subject = registerDebugSubject("logger" /* Logger */, debugFactory);
8
- expect(subject).toBeInstanceOf(Subject);
9
- });
10
- it('should not create a new instance for a previously registered key', () => {
11
- const subject = registerDebugSubject("state" /* State */, debugFactory);
12
- const sameSubject = registerDebugSubject("state" /* State */, debugFactory);
13
- expect(subject).toBe(sameSubject);
14
- });
15
- });
16
- describe('observeDebugSubject', () => {
17
- it('should throw if the subject does not exist yet', () => {
18
- // @ts-expect-error We are using a wrong subject key here
19
- const unregisteredSubject = () => observeDebugSubject('Foo', () => { });
20
- expect(unregisteredSubject).toThrow(`No subject registered for key: "Foo"`);
21
- });
22
- it('should subscribe to a previously registered subject', () => {
23
- const SUBJECT = "state" /* State */;
24
- const TEST_PAYLOAD = 'some payload';
25
- const observer = jest.fn();
26
- const subject = registerDebugSubject(SUBJECT, debugFactory);
27
- observeDebugSubject(SUBJECT, observer);
28
- subject.notify(TEST_PAYLOAD);
29
- expect(observer).toBeCalledWith(TEST_PAYLOAD);
30
- });
31
- });
32
- });
33
- //# sourceMappingURL=debug-subjects.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-subjects.test.js","sourceRoot":"","sources":["../../lib/debug-subjects.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAiB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE5F,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,MAAM,YAAY,GAAG,GAAoB,EAAE,CAAC,IAAI,OAAO,EAAU,CAAC;IAElE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACnE,MAAM,OAAO,GAAG,oBAAoB,wBAAuB,YAAY,CAAC,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,MAAM,OAAO,GAAG,oBAAoB,sBAAsB,YAAY,CAAC,CAAC;YACxE,MAAM,WAAW,GAAG,oBAAoB,sBAAsB,YAAY,CAAC,CAAC;YAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,yDAAyD;YACzD,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEvE,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC3D,MAAM,OAAO,sBAAsB,CAAC;YACpC,MAAM,YAAY,GAAG,cAAc,CAAC;YAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5D,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEvC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { Subject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, observeDebugSubject, registerDebugSubject } from './debug-subjects';\n\ndescribe('debug-subject', () => {\n const debugFactory = (): Subject<string> => new Subject<string>();\n\n describe('registerDebugSubject', () => {\n it('should create an register a subject under a given namespace', () => {\n const subject = registerDebugSubject(DebugSubjects.Logger, debugFactory);\n expect(subject).toBeInstanceOf(Subject);\n });\n\n it('should not create a new instance for a previously registered key', () => {\n const subject = registerDebugSubject(DebugSubjects.State, debugFactory);\n const sameSubject = registerDebugSubject(DebugSubjects.State, debugFactory);\n expect(subject).toBe(sameSubject);\n });\n });\n\n describe('observeDebugSubject', () => {\n it('should throw if the subject does not exist yet', () => {\n // @ts-expect-error We are using a wrong subject key here\n const unregisteredSubject = () => observeDebugSubject('Foo', () => {});\n\n expect(unregisteredSubject).toThrow(`No subject registered for key: \"Foo\"`);\n });\n\n it('should subscribe to a previously registered subject', () => {\n const SUBJECT = DebugSubjects.State;\n const TEST_PAYLOAD = 'some payload';\n\n const observer = jest.fn();\n const subject = registerDebugSubject(SUBJECT, debugFactory);\n observeDebugSubject(SUBJECT, observer);\n\n subject.notify(TEST_PAYLOAD);\n expect(observer).toBeCalledWith(TEST_PAYLOAD);\n });\n });\n});\n"]}
@@ -1,73 +0,0 @@
1
- import { mocked } from 'ts-jest/utils';
2
- import { getLogLevel, isDebugEnabled, isLoggingEnabled } from './debug-state';
3
- import { onDebug } from './debug';
4
- import { LogLevel } from './logger/logger';
5
- import { observeLogger } from './logger/default-logger';
6
- jest.mock('./debug-state');
7
- describe('onDebug util', () => {
8
- const orgConsole = global.console;
9
- beforeEach(() => {
10
- mocked(isDebugEnabled).mockReturnValue(false);
11
- mocked(isLoggingEnabled).mockReturnValue(false);
12
- mocked(getLogLevel).mockReturnValue(LogLevel.debug);
13
- // Silent down console
14
- global.console = {
15
- ...orgConsole,
16
- error: jest.fn(),
17
- log: jest.fn(),
18
- groupCollapsed: jest.fn(),
19
- };
20
- });
21
- afterEach(() => {
22
- mocked(isDebugEnabled).mockClear();
23
- mocked(isLoggingEnabled).mockClear();
24
- mocked(getLogLevel).mockClear();
25
- global.console = orgConsole;
26
- });
27
- it('should only execute the given callback when debug and logging is enabled', () => {
28
- const debugCallbackSpy = jest.fn();
29
- // disable
30
- mocked(isDebugEnabled).mockReturnValue(false);
31
- mocked(isLoggingEnabled).mockReturnValue(false);
32
- onDebug(debugCallbackSpy);
33
- expect(debugCallbackSpy).not.toHaveBeenCalled();
34
- // enable
35
- mocked(isDebugEnabled).mockReturnValue(true);
36
- mocked(isLoggingEnabled).mockReturnValue(true);
37
- onDebug(debugCallbackSpy);
38
- expect(debugCallbackSpy).toHaveBeenCalled();
39
- });
40
- it('should not notify the observer when logging is disabled', () => {
41
- const payload = {
42
- message: 'foo',
43
- level: LogLevel.error,
44
- };
45
- const loggerCallback = jest.fn(() => payload);
46
- const loggerObserver = jest.fn();
47
- // need to enable debug in order to run the debugCallback
48
- mocked(isDebugEnabled).mockReturnValue(true);
49
- // disable
50
- mocked(isLoggingEnabled).mockReturnValue(false);
51
- observeLogger(loggerObserver);
52
- onDebug(loggerCallback);
53
- expect(loggerCallback).not.toHaveBeenCalled();
54
- expect(loggerObserver).not.toHaveBeenCalled();
55
- // enable
56
- mocked(isLoggingEnabled).mockReturnValue(true);
57
- onDebug(loggerCallback);
58
- expect(loggerCallback).toHaveBeenCalledTimes(1);
59
- expect(loggerObserver).toHaveBeenCalledWith(payload);
60
- });
61
- it('should not throw an error when logger callback fails', () => {
62
- mocked(isDebugEnabled).mockReturnValue(true);
63
- mocked(isLoggingEnabled).mockReturnValue(true);
64
- const callOnDebug = () => {
65
- const loggerCallback = () => {
66
- throw new Error('ups');
67
- };
68
- onDebug(loggerCallback);
69
- };
70
- expect(callOnDebug).not.toThrow();
71
- });
72
- });
73
- //# sourceMappingURL=debug.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.test.js","sourceRoot":"","sources":["../../lib/debug.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { mocked } from 'ts-jest/utils';\nimport { getLogLevel, isDebugEnabled, isLoggingEnabled } from './debug-state';\nimport { onDebug } from './debug';\nimport { LogLevel } from './logger/logger';\nimport { observeLogger } from './logger/default-logger';\n\njest.mock('./debug-state');\n\ndescribe('onDebug util', () => {\n const orgConsole = global.console;\n\n beforeEach(() => {\n mocked(isDebugEnabled).mockReturnValue(false);\n mocked(isLoggingEnabled).mockReturnValue(false);\n mocked(getLogLevel).mockReturnValue(LogLevel.debug);\n\n // Silent down console\n global.console = {\n ...orgConsole,\n error: jest.fn(),\n log: jest.fn(),\n groupCollapsed: jest.fn(),\n };\n });\n\n afterEach(() => {\n mocked(isDebugEnabled).mockClear();\n mocked(isLoggingEnabled).mockClear();\n mocked(getLogLevel).mockClear();\n\n global.console = orgConsole;\n });\n\n it('should only execute the given callback when debug and logging is enabled', () => {\n const debugCallbackSpy = jest.fn();\n\n // disable\n mocked(isDebugEnabled).mockReturnValue(false);\n mocked(isLoggingEnabled).mockReturnValue(false);\n\n onDebug(debugCallbackSpy);\n\n expect(debugCallbackSpy).not.toHaveBeenCalled();\n\n // enable\n mocked(isDebugEnabled).mockReturnValue(true);\n mocked(isLoggingEnabled).mockReturnValue(true);\n\n onDebug(debugCallbackSpy);\n\n expect(debugCallbackSpy).toHaveBeenCalled();\n });\n\n it('should not notify the observer when logging is disabled', () => {\n const payload = {\n message: 'foo',\n level: LogLevel.error,\n };\n const loggerCallback = jest.fn(() => payload);\n const loggerObserver = jest.fn();\n\n // need to enable debug in order to run the debugCallback\n mocked(isDebugEnabled).mockReturnValue(true);\n // disable\n mocked(isLoggingEnabled).mockReturnValue(false);\n\n observeLogger(loggerObserver);\n onDebug(loggerCallback);\n\n expect(loggerCallback).not.toHaveBeenCalled();\n expect(loggerObserver).not.toHaveBeenCalled();\n\n // enable\n mocked(isLoggingEnabled).mockReturnValue(true);\n onDebug(loggerCallback);\n\n expect(loggerCallback).toHaveBeenCalledTimes(1);\n expect(loggerObserver).toHaveBeenCalledWith(payload);\n });\n\n it('should not throw an error when logger callback fails', () => {\n mocked(isDebugEnabled).mockReturnValue(true);\n mocked(isLoggingEnabled).mockReturnValue(true);\n\n const callOnDebug = () => {\n const loggerCallback = () => {\n throw new Error('ups');\n };\n\n onDebug(loggerCallback);\n };\n\n expect(callOnDebug).not.toThrow();\n });\n});\n"]}
@@ -1,198 +0,0 @@
1
- import { mocked } from 'ts-jest/utils';
2
- import { LogLevel } from './logger';
3
- import { consoleLogger } from './console';
4
- import { getLogLevel } from '../debug-state';
5
- jest.mock('../debug-state');
6
- describe('console logger', () => {
7
- const orgConsole = global.console;
8
- beforeEach(() => {
9
- global.console = {
10
- ...orgConsole,
11
- log: jest.fn(),
12
- error: jest.fn(),
13
- debug: jest.fn(),
14
- info: jest.fn(),
15
- warn: jest.fn(),
16
- groupCollapsed: jest.fn(),
17
- };
18
- });
19
- afterEach(() => {
20
- mocked(getLogLevel).mockClear();
21
- global.console = orgConsole;
22
- });
23
- const getEventPayload = (level) => ({
24
- level,
25
- message: 'Hello!',
26
- });
27
- describe('"DEBUG" level', () => {
28
- it.each([
29
- // prettier-ignore-start
30
- [LogLevel.debug],
31
- ])('should display "DEBUG" log when log level is set to "%s"', (logLevel) => {
32
- // given
33
- mocked(getLogLevel).mockReturnValue(logLevel);
34
- const event = getEventPayload(LogLevel.debug);
35
- // when
36
- consoleLogger(event);
37
- // then
38
- expect(global.console.debug).toHaveBeenCalledWith(expect.stringContaining('Hello!'));
39
- expect(global.console.groupCollapsed).toHaveBeenCalled();
40
- });
41
- it.each([
42
- // prettier-ignore-start
43
- [LogLevel.error],
44
- [LogLevel.warn],
45
- [LogLevel.deprecation],
46
- [LogLevel.info],
47
- ])('should not display "DEBUG" log when log level is set to "%s"', (logLevel) => {
48
- // given
49
- mocked(getLogLevel).mockReturnValue(logLevel);
50
- const event = getEventPayload(LogLevel.debug);
51
- // when
52
- consoleLogger(event);
53
- // then
54
- expect(global.console.debug).not.toHaveBeenCalled();
55
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
56
- });
57
- });
58
- describe('"ERROR" level', () => {
59
- it.each([
60
- // prettier-ignore-start
61
- [LogLevel.debug],
62
- [LogLevel.error],
63
- ])('should display "ERROR" log when log level is set to "%s"', (logLevel) => {
64
- // given
65
- mocked(getLogLevel).mockReturnValue(logLevel);
66
- const event = getEventPayload(LogLevel.error);
67
- // when
68
- consoleLogger(event);
69
- // then
70
- expect(global.console.error).toHaveBeenCalledWith(expect.stringContaining('Hello!'));
71
- if (logLevel === LogLevel.debug) {
72
- // eslint-disable-next-line jest/no-conditional-expect
73
- expect(global.console.groupCollapsed).toHaveBeenCalled();
74
- }
75
- else {
76
- // eslint-disable-next-line jest/no-conditional-expect
77
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
78
- }
79
- });
80
- it.each([
81
- // prettier-ignore-start
82
- [LogLevel.warn],
83
- [LogLevel.deprecation],
84
- [LogLevel.info],
85
- ])('should not display "ERROR" log when log level is set to "%s"', (logLevel) => {
86
- // given
87
- mocked(getLogLevel).mockReturnValue(logLevel);
88
- const event = getEventPayload(LogLevel.error);
89
- // when
90
- consoleLogger(event);
91
- // then
92
- expect(global.console.error).not.toHaveBeenCalled();
93
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
94
- });
95
- });
96
- describe('"WARN" level', () => {
97
- it.each([
98
- // prettier-ignore-start
99
- [LogLevel.debug],
100
- [LogLevel.error],
101
- [LogLevel.warn],
102
- ])('should display "WARN" log when log level is set to "%s"', (logLevel) => {
103
- // given
104
- mocked(getLogLevel).mockReturnValue(logLevel);
105
- const event = getEventPayload(LogLevel.warn);
106
- // when
107
- consoleLogger(event);
108
- // then
109
- expect(global.console.warn).toHaveBeenCalledWith(expect.stringContaining('Hello!'));
110
- if (logLevel === LogLevel.debug) {
111
- // eslint-disable-next-line jest/no-conditional-expect
112
- expect(global.console.groupCollapsed).toHaveBeenCalled();
113
- }
114
- else {
115
- // eslint-disable-next-line jest/no-conditional-expect
116
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
117
- }
118
- });
119
- it.each([
120
- // prettier-ignore-start
121
- [LogLevel.deprecation],
122
- [LogLevel.info],
123
- ])('should not display "WARN" log when log level is set to "%s"', (logLevel) => {
124
- // given
125
- mocked(getLogLevel).mockReturnValue(logLevel);
126
- const event = getEventPayload(LogLevel.warn);
127
- // when
128
- consoleLogger(event);
129
- // then
130
- expect(global.console.warn).not.toHaveBeenCalled();
131
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
132
- });
133
- });
134
- describe('"DEPRECATION" level', () => {
135
- it.each([
136
- // prettier-ignore-start
137
- [LogLevel.debug],
138
- [LogLevel.error],
139
- [LogLevel.warn],
140
- ])('should display "DEPRECATION" log when log level is set to "%s"', (logLevel) => {
141
- // given
142
- mocked(getLogLevel).mockReturnValue(logLevel);
143
- const event = getEventPayload(LogLevel.deprecation);
144
- // when
145
- consoleLogger(event);
146
- // then
147
- expect(global.console.warn).toHaveBeenCalledWith(expect.stringContaining('Hello!'));
148
- if (logLevel === LogLevel.debug) {
149
- // eslint-disable-next-line jest/no-conditional-expect
150
- expect(global.console.groupCollapsed).toHaveBeenCalled();
151
- }
152
- else {
153
- // eslint-disable-next-line jest/no-conditional-expect
154
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
155
- }
156
- });
157
- it.each([
158
- // prettier-ignore-start
159
- [LogLevel.info],
160
- ])('should not display "DEPRECATION" log when log level is set to "%s"', (logLevel) => {
161
- // given
162
- mocked(getLogLevel).mockReturnValue(logLevel);
163
- const event = getEventPayload(LogLevel.deprecation);
164
- // when
165
- consoleLogger(event);
166
- // then
167
- expect(global.console.warn).not.toHaveBeenCalled();
168
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
169
- });
170
- });
171
- describe('"INFO" level', () => {
172
- it.each([
173
- // prettier-ignore-start
174
- [LogLevel.debug],
175
- [LogLevel.error],
176
- [LogLevel.warn],
177
- [LogLevel.deprecation],
178
- [LogLevel.info],
179
- ])('should display "INFO" log when log level is set to "%s"', (logLevel) => {
180
- // given
181
- mocked(getLogLevel).mockReturnValue(logLevel);
182
- const event = getEventPayload(LogLevel.info);
183
- // when
184
- consoleLogger(event);
185
- // then
186
- expect(global.console.info).toHaveBeenCalledWith(expect.stringContaining('Hello!'));
187
- if (logLevel === LogLevel.debug) {
188
- // eslint-disable-next-line jest/no-conditional-expect
189
- expect(global.console.groupCollapsed).toHaveBeenCalled();
190
- }
191
- else {
192
- // eslint-disable-next-line jest/no-conditional-expect
193
- expect(global.console.groupCollapsed).not.toHaveBeenCalled();
194
- }
195
- });
196
- });
197
- });
198
- //# sourceMappingURL=console.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.test.js","sourceRoot":"","sources":["../../../lib/logger/console.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { mocked } from 'ts-jest/utils';\nimport type { LoggerPayload } from './logger';\nimport { LogLevel } from './logger';\nimport { consoleLogger } from './console';\nimport { getLogLevel } from '../debug-state';\n\njest.mock('../debug-state');\n\ndescribe('console logger', () => {\n const orgConsole = global.console;\n\n beforeEach(() => {\n global.console = {\n ...orgConsole,\n log: jest.fn(),\n error: jest.fn(),\n debug: jest.fn(),\n info: jest.fn(),\n warn: jest.fn(),\n groupCollapsed: jest.fn(),\n };\n });\n\n afterEach(() => {\n mocked(getLogLevel).mockClear();\n\n global.console = orgConsole;\n });\n\n const getEventPayload = (level: LogLevel): LoggerPayload => ({\n level,\n message: 'Hello!',\n });\n\n describe('\"DEBUG\" level', () => {\n it.each([\n // prettier-ignore-start\n [LogLevel.debug],\n // prettier-ignore-end\n ])('should display \"DEBUG\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.debug);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.debug).toHaveBeenCalledWith(expect.stringContaining('Hello!'));\n expect(global.console.groupCollapsed).toHaveBeenCalled();\n });\n\n it.each([\n // prettier-ignore-start\n [LogLevel.error],\n [LogLevel.warn],\n [LogLevel.deprecation],\n [LogLevel.info],\n // prettier-ignore-end\n ])('should not display \"DEBUG\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.debug);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.debug).not.toHaveBeenCalled();\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n });\n });\n\n describe('\"ERROR\" level', () => {\n it.each([\n // prettier-ignore-start\n [LogLevel.debug],\n [LogLevel.error],\n // prettier-ignore-end\n ])('should display \"ERROR\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.error);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.error).toHaveBeenCalledWith(expect.stringContaining('Hello!'));\n\n if (logLevel === LogLevel.debug) {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).toHaveBeenCalled();\n } else {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n }\n });\n\n it.each([\n // prettier-ignore-start\n [LogLevel.warn],\n [LogLevel.deprecation],\n [LogLevel.info],\n // prettier-ignore-end\n ])('should not display \"ERROR\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.error);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.error).not.toHaveBeenCalled();\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n });\n });\n\n describe('\"WARN\" level', () => {\n it.each([\n // prettier-ignore-start\n [LogLevel.debug],\n [LogLevel.error],\n [LogLevel.warn],\n // prettier-ignore-end\n ])('should display \"WARN\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.warn);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.warn).toHaveBeenCalledWith(expect.stringContaining('Hello!'));\n\n if (logLevel === LogLevel.debug) {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).toHaveBeenCalled();\n } else {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n }\n });\n\n it.each([\n // prettier-ignore-start\n [LogLevel.deprecation],\n [LogLevel.info],\n // prettier-ignore-end\n ])('should not display \"WARN\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.warn);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.warn).not.toHaveBeenCalled();\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n });\n });\n\n describe('\"DEPRECATION\" level', () => {\n it.each([\n // prettier-ignore-start\n [LogLevel.debug],\n [LogLevel.error],\n [LogLevel.warn],\n // prettier-ignore-end\n ])('should display \"DEPRECATION\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.deprecation);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.warn).toHaveBeenCalledWith(expect.stringContaining('Hello!'));\n\n if (logLevel === LogLevel.debug) {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).toHaveBeenCalled();\n } else {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n }\n });\n\n it.each([\n // prettier-ignore-start\n [LogLevel.info],\n // prettier-ignore-end\n ])('should not display \"DEPRECATION\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.deprecation);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.warn).not.toHaveBeenCalled();\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n });\n });\n\n describe('\"INFO\" level', () => {\n it.each([\n // prettier-ignore-start\n [LogLevel.debug],\n [LogLevel.error],\n [LogLevel.warn],\n [LogLevel.deprecation],\n [LogLevel.info],\n // prettier-ignore-end\n ])('should display \"INFO\" log when log level is set to \"%s\"', (logLevel: LogLevel) => {\n // given\n mocked(getLogLevel).mockReturnValue(logLevel);\n const event = getEventPayload(LogLevel.info);\n\n // when\n consoleLogger(event);\n\n // then\n expect(global.console.info).toHaveBeenCalledWith(expect.stringContaining('Hello!'));\n\n if (logLevel === LogLevel.debug) {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).toHaveBeenCalled();\n } else {\n // eslint-disable-next-line jest/no-conditional-expect\n expect(global.console.groupCollapsed).not.toHaveBeenCalled();\n }\n });\n });\n});\n"]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=debug-state-env.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-state-env.test.d.ts","sourceRoot":"","sources":["../../lib/debug-state-env.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=debug-state.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-state.test.d.ts","sourceRoot":"","sources":["../../lib/debug-state.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=debug-subjects.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-subjects.test.d.ts","sourceRoot":"","sources":["../../lib/debug-subjects.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=debug.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.test.d.ts","sourceRoot":"","sources":["../../lib/debug.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=console.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.test.d.ts","sourceRoot":"","sources":["../../../lib/logger/console.test.ts"],"names":[],"mappings":""}