@motiadev/test 0.0.39-alpha → 0.1.0-alpha.2

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.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { createMotiaTester } from './src/tester';
2
- export { CapturedEvent } from './src/types';
1
+ export * from './src/tester';
2
+ export * from './src/types';
3
+ export * from './src/helpers';
package/dist/index.js CHANGED
@@ -1,5 +1,19 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMotiaTester = void 0;
4
- var tester_1 = require("./src/tester");
5
- Object.defineProperty(exports, "createMotiaTester", { enumerable: true, get: function () { return tester_1.createMotiaTester; } });
17
+ __exportStar(require("./src/tester"), exports);
18
+ __exportStar(require("./src/types"), exports);
19
+ __exportStar(require("./src/helpers"), exports);
@@ -0,0 +1,10 @@
1
+ import { Logger } from '@motiadev/core';
2
+ import { MockFlowContext } from './types';
3
+ export declare const createMockLogger: () => jest.Mocked<Logger>;
4
+ export declare const setupLoggerMock: () => void;
5
+ export declare const createMockContext: (options?: {
6
+ logger?: jest.Mocked<Logger>;
7
+ emit?: jest.Mock;
8
+ traceId?: string;
9
+ state?: Partial<MockFlowContext["state"]>;
10
+ }) => MockFlowContext;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMockContext = exports.setupLoggerMock = exports.createMockLogger = void 0;
4
+ const core_1 = require("@motiadev/core");
5
+ const createMockLogger = () => {
6
+ const mockLogger = {
7
+ info: jest.fn(),
8
+ error: jest.fn(),
9
+ warn: jest.fn(),
10
+ debug: jest.fn(),
11
+ log: jest.fn(),
12
+ };
13
+ return mockLogger;
14
+ };
15
+ exports.createMockLogger = createMockLogger;
16
+ const setupLoggerMock = () => {
17
+ ;
18
+ core_1.Logger.mockImplementation(exports.createMockLogger);
19
+ };
20
+ exports.setupLoggerMock = setupLoggerMock;
21
+ const createMockContext = (options) => {
22
+ const { logger = (0, exports.createMockLogger)(), emit = jest.fn(), traceId = 'mock-trace-id', state } = options || {};
23
+ return {
24
+ logger,
25
+ emit,
26
+ traceId,
27
+ state: {
28
+ get: jest.fn(),
29
+ set: jest.fn(),
30
+ delete: jest.fn(),
31
+ clear: jest.fn(),
32
+ ...state,
33
+ },
34
+ };
35
+ };
36
+ exports.createMockContext = createMockContext;
@@ -1,19 +1,2 @@
1
- import { Response } from 'supertest';
2
- import { Event } from '@motiadev/core';
3
- import { CapturedEvent, RequestOptions } from './types';
4
- type Watcher<TData = unknown> = {
5
- getCapturedEvents(): CapturedEvent<TData>[];
6
- getLastCapturedEvent(): CapturedEvent<TData> | undefined;
7
- getCapturedEvent(index: number): CapturedEvent<TData> | undefined;
8
- };
9
- interface MotiaTester {
10
- post(path: string, options: RequestOptions): Promise<Response>;
11
- get(path: string, options: RequestOptions): Promise<Response>;
12
- emit(event: Event): Promise<void>;
13
- watch<TData>(event: string): Promise<Watcher<TData>>;
14
- sleep(ms: number): Promise<void>;
15
- close(): Promise<void>;
16
- waitEvents(): Promise<void>;
17
- }
1
+ import { MotiaTester } from './types';
18
2
  export declare const createMotiaTester: () => MotiaTester;
19
- export {};
@@ -20,7 +20,9 @@ const createMotiaTester = () => {
20
20
  (0, core_1.createStepHandlers)(lockedData, eventManager, state);
21
21
  return { server, socketServer, eventManager, state, close };
22
22
  })();
23
+ const logger = new core_1.Logger('', [], '', true);
23
24
  return {
25
+ logger,
24
26
  waitEvents: async () => {
25
27
  const { eventManager } = await promise;
26
28
  await eventManager.waitEvents();
@@ -1,5 +1,34 @@
1
- import type { Event } from '@motiadev/core';
1
+ import type { Event, FlowContext, InternalStateManager, Logger } from '@motiadev/core';
2
+ import type { Response } from 'supertest';
3
+ export type Watcher<TData = unknown> = {
4
+ getCapturedEvents(): CapturedEvent<TData>[];
5
+ getLastCapturedEvent(): CapturedEvent<TData> | undefined;
6
+ getCapturedEvent(index: number): CapturedEvent<TData> | undefined;
7
+ };
8
+ export interface MotiaTester {
9
+ post(path: string, options: RequestOptions): Promise<Response>;
10
+ get(path: string, options: RequestOptions): Promise<Response>;
11
+ emit(event: Event): Promise<void>;
12
+ watch<TData>(event: string): Promise<Watcher<TData>>;
13
+ sleep(ms: number): Promise<void>;
14
+ close(): Promise<void>;
15
+ waitEvents(): Promise<void>;
16
+ logger: Logger;
17
+ }
2
18
  export type RequestOptions = {
3
19
  body?: Record<string, unknown>;
4
20
  };
5
21
  export type CapturedEvent<TData = unknown> = Omit<Event<TData>, 'logger'>;
22
+ export type MockFlowContext = {
23
+ logger: jest.Mocked<Logger>;
24
+ emit: jest.Mock | FlowContext['emit'];
25
+ traceId: string;
26
+ state: jest.Mocked<InternalStateManager>;
27
+ };
28
+ export interface MockLogger {
29
+ info: (message: string) => void;
30
+ debug: (message: string) => void;
31
+ warn: (message: string) => void;
32
+ error: (message: string) => void;
33
+ log: (message: string) => void;
34
+ }
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@motiadev/test",
3
- "version": "0.0.39-alpha",
3
+ "version": "0.1.0-alpha.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "peerDependencies": {
7
- "motia": "0.0.39-alpha",
8
- "@motiadev/core": "0.0.39-alpha"
7
+ "@motiadev/core": "0.1.0-alpha.2",
8
+ "motia": "0.1.0-alpha.2"
9
9
  },
10
10
  "dependencies": {
11
- "supertest": "^7.0.0"
11
+ "supertest": "^7.0.0",
12
+ "jest": "^29.7.0"
12
13
  },
13
14
  "devDependencies": {
14
15
  "@types/jest": "^29.5.14",