nitrostack 1.0.73 → 1.0.74

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 (139) hide show
  1. package/dist/auth/__tests__/api-key.test.d.ts +2 -0
  2. package/dist/auth/__tests__/api-key.test.d.ts.map +1 -0
  3. package/dist/auth/__tests__/api-key.test.js +136 -0
  4. package/dist/auth/__tests__/api-key.test.js.map +1 -0
  5. package/dist/auth/__tests__/middleware.test.d.ts +2 -0
  6. package/dist/auth/__tests__/middleware.test.d.ts.map +1 -0
  7. package/dist/auth/__tests__/middleware.test.js +186 -0
  8. package/dist/auth/__tests__/middleware.test.js.map +1 -0
  9. package/dist/auth/__tests__/pkce.test.d.ts +2 -0
  10. package/dist/auth/__tests__/pkce.test.d.ts.map +1 -0
  11. package/dist/auth/__tests__/pkce.test.js +61 -0
  12. package/dist/auth/__tests__/pkce.test.js.map +1 -0
  13. package/dist/auth/__tests__/secure-secret.test.d.ts +2 -0
  14. package/dist/auth/__tests__/secure-secret.test.d.ts.map +1 -0
  15. package/dist/auth/__tests__/secure-secret.test.js +42 -0
  16. package/dist/auth/__tests__/secure-secret.test.js.map +1 -0
  17. package/dist/auth/__tests__/simple-jwt.test.d.ts +2 -0
  18. package/dist/auth/__tests__/simple-jwt.test.d.ts.map +1 -0
  19. package/dist/auth/__tests__/simple-jwt.test.js +68 -0
  20. package/dist/auth/__tests__/simple-jwt.test.js.map +1 -0
  21. package/dist/auth/__tests__/token-store.test.d.ts +2 -0
  22. package/dist/auth/__tests__/token-store.test.d.ts.map +1 -0
  23. package/dist/auth/__tests__/token-store.test.js +79 -0
  24. package/dist/auth/__tests__/token-store.test.js.map +1 -0
  25. package/dist/auth/__tests__/token-validation.test.d.ts +2 -0
  26. package/dist/auth/__tests__/token-validation.test.d.ts.map +1 -0
  27. package/dist/auth/__tests__/token-validation.test.js +23 -0
  28. package/dist/auth/__tests__/token-validation.test.js.map +1 -0
  29. package/dist/cli/__tests__/cli-dev.test.d.ts +2 -0
  30. package/dist/cli/__tests__/cli-dev.test.d.ts.map +1 -0
  31. package/dist/cli/__tests__/cli-dev.test.js +83 -0
  32. package/dist/cli/__tests__/cli-dev.test.js.map +1 -0
  33. package/dist/cli/__tests__/cli-start.test.d.ts +2 -0
  34. package/dist/cli/__tests__/cli-start.test.d.ts.map +1 -0
  35. package/dist/cli/__tests__/cli-start.test.js +61 -0
  36. package/dist/cli/__tests__/cli-start.test.js.map +1 -0
  37. package/dist/cli/__tests__/cli.test.d.ts +2 -0
  38. package/dist/cli/__tests__/cli.test.d.ts.map +1 -0
  39. package/dist/cli/__tests__/cli.test.js +73 -0
  40. package/dist/cli/__tests__/cli.test.js.map +1 -0
  41. package/dist/cli/__tests__/commands.test.d.ts +2 -0
  42. package/dist/cli/__tests__/commands.test.d.ts.map +1 -0
  43. package/dist/cli/__tests__/commands.test.js +64 -0
  44. package/dist/cli/__tests__/commands.test.js.map +1 -0
  45. package/dist/cli/index.d.ts +2 -1
  46. package/dist/cli/index.d.ts.map +1 -1
  47. package/dist/cli/index.js +68 -45
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/core/__tests__/core-modules.test.d.ts +2 -0
  50. package/dist/core/__tests__/core-modules.test.d.ts.map +1 -0
  51. package/dist/core/__tests__/core-modules.test.js +36 -0
  52. package/dist/core/__tests__/core-modules.test.js.map +1 -0
  53. package/dist/core/__tests__/models.test.d.ts +2 -0
  54. package/dist/core/__tests__/models.test.d.ts.map +1 -0
  55. package/dist/core/__tests__/models.test.js +142 -0
  56. package/dist/core/__tests__/models.test.js.map +1 -0
  57. package/dist/core/__tests__/module.test.d.ts +2 -0
  58. package/dist/core/__tests__/module.test.d.ts.map +1 -0
  59. package/dist/core/__tests__/module.test.js +60 -0
  60. package/dist/core/__tests__/module.test.js.map +1 -0
  61. package/dist/core/__tests__/server.test.d.ts +2 -0
  62. package/dist/core/__tests__/server.test.d.ts.map +1 -0
  63. package/dist/core/__tests__/server.test.js +120 -0
  64. package/dist/core/__tests__/server.test.js.map +1 -0
  65. package/dist/core/__tests__/transports.test.d.ts +2 -0
  66. package/dist/core/__tests__/transports.test.d.ts.map +1 -0
  67. package/dist/core/__tests__/transports.test.js +12 -0
  68. package/dist/core/__tests__/transports.test.js.map +1 -0
  69. package/dist/core/decorators/__tests__/decorators.test.d.ts +2 -0
  70. package/dist/core/decorators/__tests__/decorators.test.d.ts.map +1 -0
  71. package/dist/core/decorators/__tests__/decorators.test.js +103 -0
  72. package/dist/core/decorators/__tests__/decorators.test.js.map +1 -0
  73. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts +2 -0
  74. package/dist/core/decorators/__tests__/extended-decorators.test.d.ts.map +1 -0
  75. package/dist/core/decorators/__tests__/extended-decorators.test.js +194 -0
  76. package/dist/core/decorators/__tests__/extended-decorators.test.js.map +1 -0
  77. package/dist/core/di/__tests__/container.test.d.ts +2 -0
  78. package/dist/core/di/__tests__/container.test.d.ts.map +1 -0
  79. package/dist/core/di/__tests__/container.test.js +88 -0
  80. package/dist/core/di/__tests__/container.test.js.map +1 -0
  81. package/dist/core/events/__tests__/events.test.d.ts +2 -0
  82. package/dist/core/events/__tests__/events.test.d.ts.map +1 -0
  83. package/dist/core/events/__tests__/events.test.js +177 -0
  84. package/dist/core/events/__tests__/events.test.js.map +1 -0
  85. package/dist/core/filters/__tests__/filters.test.d.ts +2 -0
  86. package/dist/core/filters/__tests__/filters.test.d.ts.map +1 -0
  87. package/dist/core/filters/__tests__/filters.test.js +72 -0
  88. package/dist/core/filters/__tests__/filters.test.js.map +1 -0
  89. package/dist/core/guards/__tests__/guards.test.d.ts +2 -0
  90. package/dist/core/guards/__tests__/guards.test.d.ts.map +1 -0
  91. package/dist/core/guards/__tests__/guards.test.js +55 -0
  92. package/dist/core/guards/__tests__/guards.test.js.map +1 -0
  93. package/dist/core/health/__tests__/health.test.d.ts +2 -0
  94. package/dist/core/health/__tests__/health.test.d.ts.map +1 -0
  95. package/dist/core/health/__tests__/health.test.js +31 -0
  96. package/dist/core/health/__tests__/health.test.js.map +1 -0
  97. package/dist/core/interceptors/__tests__/interceptors.test.d.ts +2 -0
  98. package/dist/core/interceptors/__tests__/interceptors.test.d.ts.map +1 -0
  99. package/dist/core/interceptors/__tests__/interceptors.test.js +52 -0
  100. package/dist/core/interceptors/__tests__/interceptors.test.js.map +1 -0
  101. package/dist/core/middleware/__tests__/middleware.test.d.ts +2 -0
  102. package/dist/core/middleware/__tests__/middleware.test.d.ts.map +1 -0
  103. package/dist/core/middleware/__tests__/middleware.test.js +105 -0
  104. package/dist/core/middleware/__tests__/middleware.test.js.map +1 -0
  105. package/dist/core/pipes/__tests__/pipes.test.d.ts +2 -0
  106. package/dist/core/pipes/__tests__/pipes.test.d.ts.map +1 -0
  107. package/dist/core/pipes/__tests__/pipes.test.js +52 -0
  108. package/dist/core/pipes/__tests__/pipes.test.js.map +1 -0
  109. package/dist/core/transports/__tests__/transports.test.d.ts +2 -0
  110. package/dist/core/transports/__tests__/transports.test.d.ts.map +1 -0
  111. package/dist/core/transports/__tests__/transports.test.js +249 -0
  112. package/dist/core/transports/__tests__/transports.test.js.map +1 -0
  113. package/dist/core/widgets/__tests__/registry.test.d.ts +2 -0
  114. package/dist/core/widgets/__tests__/registry.test.d.ts.map +1 -0
  115. package/dist/core/widgets/__tests__/registry.test.js +69 -0
  116. package/dist/core/widgets/__tests__/registry.test.js.map +1 -0
  117. package/dist/testing/__tests__/testing.test.d.ts +2 -0
  118. package/dist/testing/__tests__/testing.test.d.ts.map +1 -0
  119. package/dist/testing/__tests__/testing.test.js +167 -0
  120. package/dist/testing/__tests__/testing.test.js.map +1 -0
  121. package/dist/testing/index.d.ts +0 -6
  122. package/dist/testing/index.d.ts.map +1 -1
  123. package/dist/testing/index.js.map +1 -1
  124. package/dist/ui-next/__tests__/ui-next.test.d.ts +2 -0
  125. package/dist/ui-next/__tests__/ui-next.test.d.ts.map +1 -0
  126. package/dist/ui-next/__tests__/ui-next.test.js +74 -0
  127. package/dist/ui-next/__tests__/ui-next.test.js.map +1 -0
  128. package/dist/widgets/__tests__/utils.test.d.ts +2 -0
  129. package/dist/widgets/__tests__/utils.test.d.ts.map +1 -0
  130. package/dist/widgets/__tests__/utils.test.js +80 -0
  131. package/dist/widgets/__tests__/utils.test.js.map +1 -0
  132. package/dist/widgets/__tests__/widgets.test.d.ts +2 -0
  133. package/dist/widgets/__tests__/widgets.test.d.ts.map +1 -0
  134. package/dist/widgets/__tests__/widgets.test.js +245 -0
  135. package/dist/widgets/__tests__/widgets.test.js.map +1 -0
  136. package/package.json +1 -1
  137. package/src/studio/components/WidgetErrorBoundary.tsx +1 -0
  138. package/src/studio/components/ops/index.ts +1 -0
  139. package/src/studio/components/ops/nodes/index.ts +1 -0
@@ -0,0 +1,69 @@
1
+ import { jest, describe, it, expect, beforeEach } from '@jest/globals';
2
+ const mockReadFileSync = jest.fn();
3
+ const mockExistsSync = jest.fn();
4
+ const mockConsoleError = jest.fn();
5
+ jest.unstable_mockModule('fs', () => ({
6
+ readFileSync: mockReadFileSync,
7
+ existsSync: mockExistsSync,
8
+ }));
9
+ // Mock console.error to keep test output clean
10
+ const originalConsoleError = console.error;
11
+ console.error = mockConsoleError;
12
+ const { WidgetRegistry, getWidgetRegistry } = await import('../widget-registry.js');
13
+ describe('WidgetRegistry', () => {
14
+ let registry;
15
+ beforeEach(() => {
16
+ jest.clearAllMocks();
17
+ registry = new WidgetRegistry();
18
+ });
19
+ afterAll(() => {
20
+ console.error = originalConsoleError;
21
+ });
22
+ it('should handle missing manifest', () => {
23
+ mockExistsSync.mockReturnValue(false);
24
+ registry.loadManifest('missing.json');
25
+ expect(registry.isLoaded()).toBe(false);
26
+ expect(mockConsoleError).toHaveBeenCalled();
27
+ });
28
+ it('should load valid manifest', () => {
29
+ const manifest = {
30
+ version: '1.0',
31
+ widgets: [
32
+ { uri: 'widget:1', name: 'W1', description: 'D1', examples: [{ data: { a: 1 } }] }
33
+ ]
34
+ };
35
+ mockExistsSync.mockReturnValue(true);
36
+ mockReadFileSync.mockReturnValue(JSON.stringify(manifest));
37
+ registry.loadManifest('valid.json');
38
+ expect(registry.isLoaded()).toBe(true);
39
+ expect(registry.getAllWidgets()).toHaveLength(1);
40
+ expect(registry.getWidget('widget:1')).toBeDefined();
41
+ });
42
+ it('should handle malformed manifest', () => {
43
+ mockExistsSync.mockReturnValue(true);
44
+ mockReadFileSync.mockReturnValue('invalid-json');
45
+ registry.loadManifest('bad.json');
46
+ expect(registry.isLoaded()).toBe(false);
47
+ expect(mockConsoleError).toHaveBeenCalled();
48
+ });
49
+ it('should get widget example data', () => {
50
+ const manifest = {
51
+ widgets: [
52
+ { uri: 'widget:1', examples: [{ data: { value: 123 } }] },
53
+ { uri: 'widget:2', examples: [] }
54
+ ]
55
+ };
56
+ mockExistsSync.mockReturnValue(true);
57
+ mockReadFileSync.mockReturnValue(JSON.stringify(manifest));
58
+ registry.loadManifest('valid.json');
59
+ expect(registry.getWidgetExampleData('widget:1')).toEqual({ value: 123 });
60
+ expect(registry.getWidgetExampleData('widget:2')).toBeUndefined();
61
+ expect(registry.getWidgetExampleData('missing')).toBeUndefined();
62
+ });
63
+ it('should get singleton instance', () => {
64
+ const instance1 = getWidgetRegistry();
65
+ const instance2 = getWidgetRegistry();
66
+ expect(instance1).toBe(instance2);
67
+ });
68
+ });
69
+ //# sourceMappingURL=registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../../src/core/widgets/__tests__/registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;CAC7B,CAAC,CAAC,CAAC;AAEJ,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;AAC3C,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC;AAEjC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEpF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,IAAI,QAAa,CAAC;IAElB,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,GAAG,oBAAoB,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACrC,cAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,MAAM,QAAQ,GAAG;YACb,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACL,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;aACrF;SACJ,CAAC;QACD,cAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,gBAAwB,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACvC,cAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,gBAAwB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAE1D,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,QAAQ,GAAG;YACb,OAAO,EAAE;gBACL,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE;gBACzD,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;aACpC;SACJ,CAAC;QACD,cAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,gBAAwB,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=testing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.test.d.ts","sourceRoot":"","sources":["../../../src/testing/__tests__/testing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,167 @@
1
+ import { describe, it, expect, beforeEach } from '@jest/globals';
2
+ import { MockLogger, TestingModule, createMockContext, createMockFn, spyOn, flushPromises } from '../index.js';
3
+ import { DIContainer } from '../../core/di/container.js';
4
+ describe('Testing Utilities', () => {
5
+ describe('MockLogger', () => {
6
+ it('should store logs', () => {
7
+ const logger = new MockLogger();
8
+ logger.info('test info');
9
+ logger.error('test error');
10
+ expect(logger.logs).toHaveLength(2);
11
+ expect(logger.hasLog('info', 'test info')).toBe(true);
12
+ });
13
+ it('should clear logs', () => {
14
+ const logger = new MockLogger();
15
+ logger.info('test');
16
+ logger.clear();
17
+ expect(logger.logs).toHaveLength(0);
18
+ });
19
+ it('should log debug messages with meta', () => {
20
+ const logger = new MockLogger();
21
+ logger.debug('debug message', { key: 'value' });
22
+ expect(logger.logs[0]).toEqual({
23
+ level: 'debug',
24
+ message: 'debug message',
25
+ meta: { key: 'value' }
26
+ });
27
+ });
28
+ it('should log warn messages', () => {
29
+ const logger = new MockLogger();
30
+ logger.warn('warning');
31
+ expect(logger.logs[0].level).toBe('warn');
32
+ });
33
+ it('should return false for non-existent logs', () => {
34
+ const logger = new MockLogger();
35
+ logger.info('something');
36
+ expect(logger.hasLog('error', 'something')).toBe(false);
37
+ expect(logger.hasLog('info', 'other')).toBe(false);
38
+ });
39
+ });
40
+ describe('createMockContext', () => {
41
+ it('should create a default mock context', () => {
42
+ const context = createMockContext();
43
+ expect(context.requestId).toBe('test-request-id');
44
+ expect(context.logger).toBeInstanceOf(MockLogger);
45
+ expect(context.metadata).toEqual({});
46
+ expect(context.auth).toBeUndefined();
47
+ });
48
+ it('should allow overrides', () => {
49
+ const context = createMockContext({
50
+ requestId: 'custom-id',
51
+ metadata: { custom: 'value' }
52
+ });
53
+ expect(context.requestId).toBe('custom-id');
54
+ expect(context.metadata).toEqual({ custom: 'value' });
55
+ });
56
+ });
57
+ describe('TestingModule', () => {
58
+ beforeEach(() => {
59
+ DIContainer.getInstance().clear();
60
+ });
61
+ it('should create and compile', () => {
62
+ const module = TestingModule.create();
63
+ const compiled = module.compile();
64
+ expect(compiled).toBeDefined();
65
+ compiled.cleanup();
66
+ });
67
+ it('should register mocks', () => {
68
+ class TestService {
69
+ }
70
+ const mockService = { foo: 'bar' };
71
+ const module = TestingModule.create()
72
+ .addMock(TestService, mockService);
73
+ const compiled = module.compile();
74
+ const instance = compiled.get(TestService);
75
+ expect(instance).toBe(mockService);
76
+ compiled.cleanup();
77
+ });
78
+ it('should register and resolve providers', () => {
79
+ class SimpleService {
80
+ getValue() { return 'real'; }
81
+ }
82
+ const compiled = TestingModule.create()
83
+ .addProvider(SimpleService)
84
+ .compile();
85
+ const service = compiled.get(SimpleService);
86
+ expect(service).toBeInstanceOf(SimpleService);
87
+ expect(service.getValue()).toBe('real');
88
+ compiled.cleanup();
89
+ });
90
+ it('should prefer mocks over providers', () => {
91
+ class TestService {
92
+ getValue() { return 'real'; }
93
+ }
94
+ const mockService = {
95
+ getValue: () => 'mocked'
96
+ };
97
+ const compiled = TestingModule.create()
98
+ .addProvider(TestService)
99
+ .addMock(TestService, mockService)
100
+ .compile();
101
+ const service = compiled.get(TestService);
102
+ expect(service.getValue()).toBe('mocked');
103
+ compiled.cleanup();
104
+ });
105
+ });
106
+ describe('createMockFn', () => {
107
+ it('should create a mock function', () => {
108
+ const mockFn = createMockFn();
109
+ expect(typeof mockFn).toBe('function');
110
+ });
111
+ it('should track calls', () => {
112
+ const mockFn = createMockFn();
113
+ mockFn('arg1', 'arg2');
114
+ mockFn('arg3');
115
+ expect(mockFn.calls).toHaveLength(2);
116
+ expect(mockFn.calls[0]).toEqual(['arg1', 'arg2']);
117
+ expect(mockFn.calls[1]).toEqual(['arg3']);
118
+ });
119
+ it('should return mock value', () => {
120
+ const mockFn = createMockFn();
121
+ mockFn.mockReturnValue = 'mocked result';
122
+ expect(mockFn()).toBe('mocked result');
123
+ });
124
+ it('should support mockResolvedValue', async () => {
125
+ const mockFn = createMockFn();
126
+ mockFn.mockResolvedValue('resolved');
127
+ await expect(mockFn()).resolves.toBe('resolved');
128
+ });
129
+ it('should support mockRejectedValue', async () => {
130
+ const mockFn = createMockFn();
131
+ mockFn.mockRejectedValue(new Error('rejected'));
132
+ await expect(mockFn()).rejects.toThrow('rejected');
133
+ });
134
+ });
135
+ describe('spyOn', () => {
136
+ it('should spy on object methods', () => {
137
+ const obj = {
138
+ method: (x) => x * 2
139
+ };
140
+ const spy = spyOn(obj, 'method');
141
+ obj.method(5);
142
+ obj.method(10);
143
+ expect(spy.calls).toHaveLength(2);
144
+ expect(spy.calls[0]).toEqual([5]);
145
+ expect(spy.calls[1]).toEqual([10]);
146
+ spy.restore();
147
+ });
148
+ it('should restore original method', () => {
149
+ const obj = {
150
+ method: (x) => x * 2
151
+ };
152
+ const originalMethod = obj.method;
153
+ const spy = spyOn(obj, 'method');
154
+ spy.restore();
155
+ expect(obj.method).toBe(originalMethod);
156
+ });
157
+ });
158
+ describe('flushPromises', () => {
159
+ it('should flush pending promises', async () => {
160
+ let resolved = false;
161
+ Promise.resolve().then(() => { resolved = true; });
162
+ await flushPromises();
163
+ expect(resolved).toBe(true);
164
+ });
165
+ });
166
+ });
167
+ //# sourceMappingURL=testing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.test.js","sourceRoot":"","sources":["../../../src/testing/__tests__/testing.test.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,6 @@ import 'reflect-metadata';
2
2
  import { DIContainer, InjectionToken } from '../core/di/container.js';
3
3
  import { ExecutionContext, Logger, LogMeta } from '../core/types.js';
4
4
  type ClassConstructor<T = unknown> = new (...args: unknown[]) => T;
5
- declare global {
6
- var jest: {
7
- fn: () => unknown;
8
- spyOn: (obj: object, method: string) => unknown;
9
- } | undefined;
10
- }
11
5
  /**
12
6
  * Testing utilities for NitroStack
13
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ui-next.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-next.test.d.ts","sourceRoot":"","sources":["../../../src/ui-next/__tests__/ui-next.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import { jest, describe, it, expect, beforeEach } from '@jest/globals';
2
+ jest.unstable_mockModule('node:fs', () => ({
3
+ __esModule: true, // Optional for built-ins but good practice
4
+ default: {
5
+ existsSync: jest.fn(),
6
+ readFileSync: jest.fn(),
7
+ mkdirSync: jest.fn(),
8
+ writeFileSync: jest.fn(),
9
+ rmSync: jest.fn()
10
+ },
11
+ // Also named exports
12
+ existsSync: jest.fn(),
13
+ readFileSync: jest.fn(),
14
+ mkdirSync: jest.fn(),
15
+ writeFileSync: jest.fn(),
16
+ rmSync: jest.fn()
17
+ }));
18
+ jest.unstable_mockModule('node:child_process', () => ({
19
+ __esModule: true,
20
+ execSync: jest.fn()
21
+ }));
22
+ jest.unstable_mockModule('../../core/component', () => ({
23
+ __esModule: true,
24
+ createComponent: jest.fn()
25
+ }));
26
+ // Dynamic imports
27
+ const fs = await import('node:fs');
28
+ const { execSync } = await import('node:child_process');
29
+ const { createComponent } = await import('../../core/component');
30
+ const { createComponentFromNext, createComponentFromNextRoute } = await import('../index');
31
+ describe('UI Next', () => {
32
+ beforeEach(() => {
33
+ jest.clearAllMocks();
34
+ // Mock fs default behaviors
35
+ // Note: fs is namespace object, but unstable_mockModule allows named exports
36
+ // We use fs.existsSync as key
37
+ fs.existsSync.mockReturnValue(true);
38
+ fs.readFileSync.mockReturnValue('<html>Content</html>');
39
+ });
40
+ describe('createComponentFromNext', () => {
41
+ it('should build and create component', () => {
42
+ const opts = {
43
+ id: 'test-widget',
44
+ name: 'Test Widget',
45
+ projectDir: '/tmp/project',
46
+ build: true
47
+ };
48
+ createComponentFromNext(opts);
49
+ expect(execSync).toHaveBeenCalledWith(expect.stringContaining('npm run build'), expect.anything());
50
+ expect(createComponent).toHaveBeenCalled();
51
+ });
52
+ it('should throw if project dir missing', () => {
53
+ fs.existsSync.mockReturnValue(false);
54
+ expect(() => createComponentFromNext({
55
+ id: 'test',
56
+ name: 'Test',
57
+ projectDir: '/missing'
58
+ })).toThrow();
59
+ });
60
+ });
61
+ describe('createComponentFromNextRoute', () => {
62
+ it('should create component from route', () => {
63
+ // Mock path exists logic for route
64
+ fs.existsSync.mockReturnValue(true);
65
+ try {
66
+ createComponentFromNextRoute('test-route', { projectDir: '/mock/project' });
67
+ }
68
+ catch (e) {
69
+ // Ignore
70
+ }
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=ui-next.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-next.test.js","sourceRoot":"","sources":["../../../src/ui-next/__tests__/ui-next.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/widgets/__tests__/utils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { jest, describe, it, expect, beforeEach, afterEach } from '@jest/globals';
2
+ // Mock window.matchMedia
3
+ const mockMatchMedia = jest.fn();
4
+ describe('Media Query Utilities', () => {
5
+ let originalWindow;
6
+ let prefersReducedMotion;
7
+ let isPrimarilyTouchDevice;
8
+ let isHoverAvailable;
9
+ let prefersDarkColorScheme;
10
+ beforeEach(async () => {
11
+ jest.resetModules();
12
+ originalWindow = globalThis.window;
13
+ globalThis.window = {
14
+ matchMedia: mockMatchMedia,
15
+ };
16
+ mockMatchMedia.mockReturnValue({ matches: false });
17
+ // Import fresh
18
+ const utils = await import('../utils/media-queries.js');
19
+ prefersReducedMotion = utils.prefersReducedMotion;
20
+ isPrimarilyTouchDevice = utils.isPrimarilyTouchDevice;
21
+ isHoverAvailable = utils.isHoverAvailable;
22
+ prefersDarkColorScheme = utils.prefersDarkColorScheme;
23
+ });
24
+ afterEach(() => {
25
+ globalThis.window = originalWindow;
26
+ jest.clearAllMocks();
27
+ });
28
+ describe('prefersReducedMotion', () => {
29
+ it('should return true when reduced motion is preferred', () => {
30
+ mockMatchMedia.mockReturnValue({ matches: true });
31
+ expect(prefersReducedMotion()).toBe(true);
32
+ expect(mockMatchMedia).toHaveBeenCalledWith('(prefers-reduced-motion: reduce)');
33
+ });
34
+ it('should return false when reduced motion is not preferred', () => {
35
+ mockMatchMedia.mockReturnValue({ matches: false });
36
+ expect(prefersReducedMotion()).toBe(false);
37
+ });
38
+ });
39
+ describe('isPrimarilyTouchDevice', () => {
40
+ it('should return true for touch devices', () => {
41
+ mockMatchMedia.mockReturnValue({ matches: true });
42
+ expect(isPrimarilyTouchDevice()).toBe(true);
43
+ expect(mockMatchMedia).toHaveBeenCalledWith('(pointer: coarse)');
44
+ });
45
+ it('should return false for non-touch devices', () => {
46
+ mockMatchMedia.mockReturnValue({ matches: false });
47
+ expect(isPrimarilyTouchDevice()).toBe(false);
48
+ });
49
+ });
50
+ describe('isHoverAvailable', () => {
51
+ it('should return true when hover is available', () => {
52
+ mockMatchMedia.mockReturnValue({ matches: true });
53
+ expect(isHoverAvailable()).toBe(true);
54
+ expect(mockMatchMedia).toHaveBeenCalledWith('(hover: hover)');
55
+ });
56
+ });
57
+ describe('prefersDarkColorScheme', () => {
58
+ it('should return true when dark mode is preferred', () => {
59
+ mockMatchMedia.mockReturnValue({ matches: true });
60
+ expect(prefersDarkColorScheme()).toBe(true);
61
+ expect(mockMatchMedia).toHaveBeenCalledWith('(prefers-color-scheme: dark)');
62
+ });
63
+ it('should return false when light mode is preferred', () => {
64
+ mockMatchMedia.mockReturnValue({ matches: false });
65
+ expect(prefersDarkColorScheme()).toBe(false);
66
+ });
67
+ });
68
+ describe('SSR handling', () => {
69
+ it('should return false when window is undefined', async () => {
70
+ jest.resetModules();
71
+ globalThis.window = undefined;
72
+ const utils = await import('../utils/media-queries.js');
73
+ expect(utils.prefersReducedMotion()).toBe(false);
74
+ expect(utils.isPrimarilyTouchDevice()).toBe(false);
75
+ expect(utils.isHoverAvailable()).toBe(false);
76
+ expect(utils.prefersDarkColorScheme()).toBe(false);
77
+ });
78
+ });
79
+ });
80
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/widgets/__tests__/utils.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=widgets.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.test.d.ts","sourceRoot":"","sources":["../../../src/widgets/__tests__/widgets.test.ts"],"names":[],"mappings":""}