@elizaos/test-utils 1.4.4 → 1.5.0
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.js +289 -523
- package/dist/index.js.map +25 -1
- package/dist/src/DatabaseTestRegistry.d.ts +88 -0
- package/dist/src/DatabaseTestRegistry.d.ts.map +1 -0
- package/dist/src/TestInfrastructure.d.ts +64 -0
- package/dist/src/TestInfrastructure.d.ts.map +1 -0
- package/dist/src/factories.d.ts +141 -0
- package/dist/src/factories.d.ts.map +1 -0
- package/dist/src/index.d.ts +52 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/mocks/character.d.ts +65 -0
- package/dist/src/mocks/character.d.ts.map +1 -0
- package/dist/src/mocks/database.d.ts +40 -0
- package/dist/src/mocks/database.d.ts.map +1 -0
- package/dist/src/mocks/memory.d.ts +106 -0
- package/dist/src/mocks/memory.d.ts.map +1 -0
- package/dist/src/mocks/mockUtils.d.ts +17 -0
- package/dist/src/mocks/mockUtils.d.ts.map +1 -0
- package/dist/src/mocks/runtime.d.ts +34 -0
- package/dist/src/mocks/runtime.d.ts.map +1 -0
- package/dist/src/mocks/services.d.ts +99 -0
- package/dist/src/mocks/services.d.ts.map +1 -0
- package/dist/src/mocks/state.d.ts +100 -0
- package/dist/src/mocks/state.d.ts.map +1 -0
- package/dist/src/realRuntime.d.ts +85 -0
- package/dist/src/realRuntime.d.ts.map +1 -0
- package/dist/src/templates.d.ts +123 -0
- package/dist/src/templates.d.ts.map +1 -0
- package/dist/src/testDatabase.d.ts +44 -0
- package/dist/src/testDatabase.d.ts.map +1 -0
- package/dist/src/testModels.d.ts +105 -0
- package/dist/src/testModels.d.ts.map +1 -0
- package/dist/src/unifiedTestSuite.d.ts +40 -0
- package/dist/src/unifiedTestSuite.d.ts.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +6 -7
- package/dist/index.d.ts +0 -950
- package/tsup.config.ts +0 -20
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Mock implementations for Service and related interfaces
|
|
3
|
+
*
|
|
4
|
+
* This module provides comprehensive mock implementations for services,
|
|
5
|
+
* supporting both unit and integration testing scenarios.
|
|
6
|
+
*/
|
|
7
|
+
import type { Service } from '@elizaos/core';
|
|
8
|
+
import { ServiceTypeName } from '@elizaos/core';
|
|
9
|
+
/**
|
|
10
|
+
* Type representing overrides for Service mock creation
|
|
11
|
+
*/
|
|
12
|
+
export type MockServiceOverrides = Partial<Service>;
|
|
13
|
+
/**
|
|
14
|
+
* Create a comprehensive mock Service with intelligent defaults
|
|
15
|
+
*
|
|
16
|
+
* This function provides a fully-featured service mock that implements
|
|
17
|
+
* the Service interface with sensible defaults and proper lifecycle methods.
|
|
18
|
+
*
|
|
19
|
+
* @param serviceType - Type/category of the service
|
|
20
|
+
* @param overrides - Partial object to override specific methods or properties
|
|
21
|
+
* @returns Complete mock Service implementation
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { createMockService } from '@elizaos/core/test-utils';
|
|
26
|
+
* import { mock } from 'bun:test';
|
|
27
|
+
*
|
|
28
|
+
* const mockService = createMockService(ServiceType.UNKNOWN, {
|
|
29
|
+
* someMethod: mock().mockResolvedValue('custom result')
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function createMockService(serviceType?: ServiceTypeName, overrides?: MockServiceOverrides): Service;
|
|
34
|
+
/**
|
|
35
|
+
* Create a mock database service
|
|
36
|
+
*
|
|
37
|
+
* @param overrides - Service-specific overrides
|
|
38
|
+
* @returns Mock database service
|
|
39
|
+
*/
|
|
40
|
+
export declare function createMockDatabaseService(overrides?: MockServiceOverrides): Service;
|
|
41
|
+
/**
|
|
42
|
+
* Create a mock cache service
|
|
43
|
+
*
|
|
44
|
+
* @param overrides - Service-specific overrides
|
|
45
|
+
* @returns Mock cache service
|
|
46
|
+
*/
|
|
47
|
+
export declare function createMockCacheService(overrides?: MockServiceOverrides): Service;
|
|
48
|
+
/**
|
|
49
|
+
* Create a mock HTTP service
|
|
50
|
+
*
|
|
51
|
+
* @param overrides - Service-specific overrides
|
|
52
|
+
* @returns Mock HTTP service
|
|
53
|
+
*/
|
|
54
|
+
export declare function createMockHttpService(overrides?: MockServiceOverrides): Service;
|
|
55
|
+
/**
|
|
56
|
+
* Create a mock blockchain service
|
|
57
|
+
*
|
|
58
|
+
* @param overrides - Service-specific overrides
|
|
59
|
+
* @returns Mock blockchain service
|
|
60
|
+
*/
|
|
61
|
+
export declare function createMockBlockchainService(overrides?: MockServiceOverrides): Service;
|
|
62
|
+
/**
|
|
63
|
+
* Create a mock AI model service
|
|
64
|
+
*
|
|
65
|
+
* @param overrides - Service-specific overrides
|
|
66
|
+
* @returns Mock AI model service
|
|
67
|
+
*/
|
|
68
|
+
export declare function createMockModelService(overrides?: MockServiceOverrides): Service;
|
|
69
|
+
/**
|
|
70
|
+
* Create a mock messaging service
|
|
71
|
+
*
|
|
72
|
+
* @param overrides - Service-specific overrides
|
|
73
|
+
* @returns Mock messaging service
|
|
74
|
+
*/
|
|
75
|
+
export declare function createMockMessagingService(overrides?: MockServiceOverrides): Service;
|
|
76
|
+
/**
|
|
77
|
+
* Create a service map with multiple mock services
|
|
78
|
+
*
|
|
79
|
+
* @param services - Array of service configurations
|
|
80
|
+
* @returns Map of service names to mock services
|
|
81
|
+
*/
|
|
82
|
+
export declare function createMockServiceMap(services?: Array<{
|
|
83
|
+
name: string;
|
|
84
|
+
type?: ServiceTypeName;
|
|
85
|
+
overrides?: MockServiceOverrides;
|
|
86
|
+
}>): Map<string, Service>;
|
|
87
|
+
/**
|
|
88
|
+
* Create a mock service registry for runtime
|
|
89
|
+
*
|
|
90
|
+
* @param runtime - Mock runtime instance
|
|
91
|
+
* @param services - Services to register
|
|
92
|
+
* @returns Updated runtime with registered services
|
|
93
|
+
*/
|
|
94
|
+
export declare function registerMockServices(runtime: any, services?: Array<{
|
|
95
|
+
name: string;
|
|
96
|
+
type?: ServiceTypeName;
|
|
97
|
+
overrides?: MockServiceOverrides;
|
|
98
|
+
}>): any;
|
|
99
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/mocks/services.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAe,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,GAAE,eAAqC,EAClD,SAAS,GAAE,oBAAyB,GACnC,OAAO,CA+BT;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAKvF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAOpF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAKzF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAKpF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAKxF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAM,GACN,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,GAAG,EACZ,QAAQ,GAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAM,GACN,GAAG,CAWL"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Mock implementations for State and related interfaces
|
|
3
|
+
*
|
|
4
|
+
* This module provides comprehensive mock implementations for state objects,
|
|
5
|
+
* provider results, and state composition utilities.
|
|
6
|
+
*/
|
|
7
|
+
import type { ActionResult, ProviderResult, State } from '@elizaos/core';
|
|
8
|
+
/**
|
|
9
|
+
* Type representing overrides for State mock creation
|
|
10
|
+
*/
|
|
11
|
+
export type MockStateOverrides = Partial<State>;
|
|
12
|
+
/**
|
|
13
|
+
* Type representing overrides for ProviderResult mock creation
|
|
14
|
+
*/
|
|
15
|
+
export type MockProviderResultOverrides = Partial<ProviderResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Type representing overrides for ActionResult mock creation
|
|
18
|
+
*/
|
|
19
|
+
export type MockActionResultOverrides = Partial<ActionResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Create a comprehensive mock State object with intelligent defaults
|
|
22
|
+
*
|
|
23
|
+
* This function provides a fully-featured state mock that includes
|
|
24
|
+
* realistic data structures and proper typing for agent context.
|
|
25
|
+
*
|
|
26
|
+
* @param overrides - Partial object to override specific properties
|
|
27
|
+
* @returns Complete mock State object
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { createMockState } from '@elizaos/core/test-utils';
|
|
32
|
+
*
|
|
33
|
+
* const mockState = createMockState({
|
|
34
|
+
* values: { currentUser: 'john_doe' },
|
|
35
|
+
* data: { conversationLength: 5 }
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function createMockState(overrides?: MockStateOverrides): State;
|
|
40
|
+
/**
|
|
41
|
+
* Create a mock ProviderResult object
|
|
42
|
+
*
|
|
43
|
+
* @param overrides - Partial object to override specific properties
|
|
44
|
+
* @returns Complete mock ProviderResult object
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* import { createMockProviderResult } from '@elizaos/core/test-utils';
|
|
49
|
+
*
|
|
50
|
+
* const providerResult = createMockProviderResult({
|
|
51
|
+
* text: '[WEATHER] Current weather is sunny',
|
|
52
|
+
* values: { temperature: 72, conditions: 'sunny' }
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function createMockProviderResult(overrides?: MockProviderResultOverrides): ProviderResult;
|
|
57
|
+
/**
|
|
58
|
+
* Create a mock ActionResult object
|
|
59
|
+
*
|
|
60
|
+
* @param overrides - Partial object to override specific properties
|
|
61
|
+
* @returns Complete mock ActionResult object
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* import { createMockActionResult } from '@elizaos/core/test-utils';
|
|
66
|
+
*
|
|
67
|
+
* const actionResult = createMockActionResult({
|
|
68
|
+
* text: 'Action completed successfully',
|
|
69
|
+
* values: { success: true, id: 'action-123' }
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function createMockActionResult(overrides?: MockActionResultOverrides): ActionResult;
|
|
74
|
+
/**
|
|
75
|
+
* Create a state with specific provider context
|
|
76
|
+
*
|
|
77
|
+
* @param providerName - Name of the provider
|
|
78
|
+
* @param providerData - Data from the provider
|
|
79
|
+
* @param overrides - Additional state overrides
|
|
80
|
+
* @returns State with provider context
|
|
81
|
+
*/
|
|
82
|
+
export declare function createMockStateWithProvider(providerName: string, providerData: any, overrides?: MockStateOverrides): State;
|
|
83
|
+
/**
|
|
84
|
+
* Create a state with action execution history
|
|
85
|
+
*
|
|
86
|
+
* @param actionResults - Array of action results
|
|
87
|
+
* @param overrides - Additional state overrides
|
|
88
|
+
* @returns State with action history
|
|
89
|
+
*/
|
|
90
|
+
export declare function createMockStateWithActions(actionResults: ActionResult[], overrides?: MockStateOverrides): State;
|
|
91
|
+
/**
|
|
92
|
+
* Create a state with realistic conversation context
|
|
93
|
+
*
|
|
94
|
+
* @param conversationHistory - Array of recent messages
|
|
95
|
+
* @param currentUser - Current user name
|
|
96
|
+
* @param overrides - Additional state overrides
|
|
97
|
+
* @returns State with conversation context
|
|
98
|
+
*/
|
|
99
|
+
export declare function createMockConversationState(conversationHistory?: string[], currentUser?: string, overrides?: MockStateOverrides): State;
|
|
100
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/mocks/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,kBAAuB,GAAG,KAAK,CA2CzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,2BAAgC,GAC1C,cAAc,CAiBhB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,yBAA8B,GAAG,YAAY,CAmB9F;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,GAAG,EACjB,SAAS,GAAE,kBAAuB,GACjC,KAAK,CAYP;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,GAAE,kBAAuB,GACjC,KAAK,CAgBP;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,GAAE,MAAM,EAA2C,EACtE,WAAW,GAAE,MAAmB,EAChC,SAAS,GAAE,kBAAuB,GACjC,KAAK,CA6BP"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Character, IAgentRuntime, Plugin } from '@elizaos/core';
|
|
2
|
+
import { TestModelProvider, createSpecializedModelProvider, scenarios } from './testModels';
|
|
3
|
+
export interface RuntimeConfig {
|
|
4
|
+
character: Character;
|
|
5
|
+
plugins: Array<Plugin | string>;
|
|
6
|
+
databaseUrl?: string;
|
|
7
|
+
apiKeys: Record<string, string>;
|
|
8
|
+
modelProviders?: Record<string, any>;
|
|
9
|
+
isolated?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface RealRuntimeTestResult {
|
|
12
|
+
scenarioName: string;
|
|
13
|
+
passed: boolean;
|
|
14
|
+
errors: string[];
|
|
15
|
+
executedActions: string[];
|
|
16
|
+
createdMemories: number;
|
|
17
|
+
responseTime: number;
|
|
18
|
+
memoryUsage?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Runtime Test Harness - Creates actual AgentRuntime instances for testing
|
|
22
|
+
* Uses the standard AgentRuntime without any mocks or proxies
|
|
23
|
+
*/
|
|
24
|
+
export declare class RuntimeTestHarness {
|
|
25
|
+
private runtimes;
|
|
26
|
+
private databaseManager;
|
|
27
|
+
private testId;
|
|
28
|
+
constructor(testId?: string);
|
|
29
|
+
/**
|
|
30
|
+
* Creates an AgentRuntime instance for testing
|
|
31
|
+
* This uses the standard AgentRuntime - it will actually execute all functionality
|
|
32
|
+
*/
|
|
33
|
+
createTestRuntime(config: RuntimeConfig): Promise<IAgentRuntime>;
|
|
34
|
+
/**
|
|
35
|
+
* Loads a plugin by name from the ElizaOS ecosystem
|
|
36
|
+
* Uses dynamic imports to avoid circular dependencies during build
|
|
37
|
+
*/
|
|
38
|
+
private loadPlugin;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a test model provider that gives realistic responses
|
|
41
|
+
*/
|
|
42
|
+
createRealisticModelProvider(scenarios?: Array<{
|
|
43
|
+
prompt: RegExp;
|
|
44
|
+
response: string;
|
|
45
|
+
}>): TestModelProvider;
|
|
46
|
+
/**
|
|
47
|
+
* Executes a real message processing test
|
|
48
|
+
*/
|
|
49
|
+
processTestMessage(runtime: IAgentRuntime, messageText: string, options?: {
|
|
50
|
+
roomId?: string;
|
|
51
|
+
entityId?: string;
|
|
52
|
+
expectedActions?: string[];
|
|
53
|
+
timeoutMs?: number;
|
|
54
|
+
}): Promise<RealRuntimeTestResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Gets actions that were actually executed (not mocked)
|
|
57
|
+
*/
|
|
58
|
+
private getExecutedActions;
|
|
59
|
+
/**
|
|
60
|
+
* Validates that a runtime is actually functional
|
|
61
|
+
*/
|
|
62
|
+
validateRuntimeHealth(runtime: IAgentRuntime): Promise<{
|
|
63
|
+
healthy: boolean;
|
|
64
|
+
issues: string[];
|
|
65
|
+
services: string[];
|
|
66
|
+
plugins: string[];
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Cleanup all test resources
|
|
70
|
+
*/
|
|
71
|
+
cleanup(): Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Convenience function to create and configure a test runtime
|
|
75
|
+
*/
|
|
76
|
+
export declare function createTestRuntime(config?: Partial<RuntimeConfig>): Promise<{
|
|
77
|
+
runtime: IAgentRuntime;
|
|
78
|
+
harness: RuntimeTestHarness;
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* Helper to run a quick integration test
|
|
82
|
+
*/
|
|
83
|
+
export declare function runIntegrationTest(testName: string, testFn: (runtime: IAgentRuntime) => Promise<void>, config?: Partial<RuntimeConfig>): Promise<RealRuntimeTestResult>;
|
|
84
|
+
export { createSpecializedModelProvider, scenarios };
|
|
85
|
+
//# sourceMappingURL=realRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realRuntime.d.ts","sourceRoot":"","sources":["../../src/realRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAU,MAAM,EAAQ,MAAM,eAAe,CAAC;AAIpF,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAE9B,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM;IAK3B;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IA8CtE;;;OAGG;YACW,UAAU;IAqCxB;;OAEG;IACH,4BAA4B,CAC1B,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,GACD,iBAAiB;IAuBpB;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;KACf,GACL,OAAO,CAAC,qBAAqB,CAAC;IAuEjC;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;QAC3D,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAyEF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B/B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC;IACpF,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC,CAsBD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,EACjD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgChC;AAGD,OAAO,EAAE,8BAA8B,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standardized testing templates and patterns for ElizaOS
|
|
3
|
+
*
|
|
4
|
+
* This module provides consistent testing patterns, templates, and utilities
|
|
5
|
+
* to ensure testing consistency across all packages.
|
|
6
|
+
*/
|
|
7
|
+
import { Character, Content, IAgentRuntime, Memory, Plugin } from '@elizaos/core';
|
|
8
|
+
/**
|
|
9
|
+
* Standard test configuration interface
|
|
10
|
+
*/
|
|
11
|
+
export interface TestConfig {
|
|
12
|
+
name: string;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
retries?: number;
|
|
15
|
+
skipCondition?: () => boolean;
|
|
16
|
+
setup?: () => Promise<void>;
|
|
17
|
+
teardown?: () => Promise<void>;
|
|
18
|
+
expectedErrors?: unknown[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Template test result interface
|
|
22
|
+
*/
|
|
23
|
+
export interface TemplateTestResult {
|
|
24
|
+
name: string;
|
|
25
|
+
passed: boolean;
|
|
26
|
+
duration: number;
|
|
27
|
+
error?: Error;
|
|
28
|
+
warnings?: string[];
|
|
29
|
+
metadata?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Base test template class
|
|
33
|
+
*/
|
|
34
|
+
export declare abstract class TestTemplate {
|
|
35
|
+
protected config: TestConfig;
|
|
36
|
+
protected runtime?: IAgentRuntime;
|
|
37
|
+
constructor(config: TestConfig);
|
|
38
|
+
abstract execute(): Promise<TemplateTestResult>;
|
|
39
|
+
protected setup(): Promise<void>;
|
|
40
|
+
protected teardown(): Promise<void>;
|
|
41
|
+
protected shouldSkip(): boolean;
|
|
42
|
+
getConfig(): TestConfig;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Unit test template for isolated component testing
|
|
46
|
+
*/
|
|
47
|
+
export declare class UnitTestTemplate extends TestTemplate {
|
|
48
|
+
private testFunction;
|
|
49
|
+
constructor(config: TestConfig, testFunction: () => Promise<void>);
|
|
50
|
+
execute(): Promise<TemplateTestResult>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Integration test template for real runtime testing
|
|
54
|
+
*/
|
|
55
|
+
export declare class IntegrationTestTemplate extends TestTemplate {
|
|
56
|
+
private testFunction;
|
|
57
|
+
private character?;
|
|
58
|
+
constructor(config: TestConfig, testFunction: (runtime: IAgentRuntime) => Promise<void>, character?: Character);
|
|
59
|
+
execute(): Promise<TemplateTestResult>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Plugin test template for plugin-specific testing
|
|
63
|
+
*/
|
|
64
|
+
export declare class PluginTestTemplate extends TestTemplate {
|
|
65
|
+
private plugin;
|
|
66
|
+
private testFunction;
|
|
67
|
+
constructor(config: TestConfig, plugin: Plugin, testFunction: (runtime: IAgentRuntime, plugin: Plugin) => Promise<void>);
|
|
68
|
+
execute(): Promise<TemplateTestResult>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Error handling test template
|
|
72
|
+
*/
|
|
73
|
+
export declare class ErrorTestTemplate extends TestTemplate {
|
|
74
|
+
private testFunction;
|
|
75
|
+
private expectedError;
|
|
76
|
+
constructor(config: TestConfig, testFunction: () => Promise<void>, expectedError: string);
|
|
77
|
+
execute(): Promise<TemplateTestResult>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Performance test template
|
|
81
|
+
*/
|
|
82
|
+
export declare class PerformanceTestTemplate extends TestTemplate {
|
|
83
|
+
private testFunction;
|
|
84
|
+
private maxDuration;
|
|
85
|
+
private maxMemoryMB;
|
|
86
|
+
constructor(config: TestConfig, testFunction: () => Promise<void>, maxDuration: number, maxMemoryMB: number);
|
|
87
|
+
execute(): Promise<TemplateTestResult>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Test suite for organizing related tests
|
|
91
|
+
*/
|
|
92
|
+
export declare class TestSuite {
|
|
93
|
+
private tests;
|
|
94
|
+
private name;
|
|
95
|
+
constructor(name: string);
|
|
96
|
+
addTest(test: TestTemplate): void;
|
|
97
|
+
run(): Promise<{
|
|
98
|
+
suiteName: string;
|
|
99
|
+
totalTests: number;
|
|
100
|
+
passed: number;
|
|
101
|
+
failed: number;
|
|
102
|
+
duration: number;
|
|
103
|
+
results: TemplateTestResult[];
|
|
104
|
+
}>;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Factory functions for creating common test scenarios
|
|
108
|
+
*/
|
|
109
|
+
export declare function createUnitTest(name: string, testFunction: () => Promise<void>, options?: Partial<TestConfig>): UnitTestTemplate;
|
|
110
|
+
export declare function createIntegrationTest(name: string, testFunction: (runtime: IAgentRuntime) => Promise<void>, character?: Character, options?: Partial<TestConfig>): IntegrationTestTemplate;
|
|
111
|
+
export declare function createPluginTest(name: string, plugin: Plugin, testFunction: (runtime: IAgentRuntime, plugin: Plugin) => Promise<void>, options?: Partial<TestConfig>): PluginTestTemplate;
|
|
112
|
+
export declare function createErrorTest(name: string, testFunction: () => Promise<void>, expectedError: any, options?: Partial<TestConfig>): ErrorTestTemplate;
|
|
113
|
+
export declare function createPerformanceTest(name: string, testFunction: () => Promise<void>, maxDurationMs: number, maxMemoryMB: number, options?: Partial<TestConfig>): PerformanceTestTemplate;
|
|
114
|
+
/**
|
|
115
|
+
* Standard test data generators
|
|
116
|
+
*/
|
|
117
|
+
export declare class TestDataGenerator {
|
|
118
|
+
static generateUUID(): string;
|
|
119
|
+
static generateMemory(overrides?: Partial<Memory>): Memory;
|
|
120
|
+
static generateCharacter(overrides?: Partial<Character>): Character;
|
|
121
|
+
static generateContent(overrides?: Partial<Content>): Content;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { IDatabaseAdapter } from '@elizaos/core';
|
|
2
|
+
/**
|
|
3
|
+
* Test Database Manager - Creates isolated database instances for testing
|
|
4
|
+
* Each test gets its own database to prevent interference and ensure isolation
|
|
5
|
+
*/
|
|
6
|
+
export declare class TestDatabaseManager {
|
|
7
|
+
private testDatabases;
|
|
8
|
+
private tempPaths;
|
|
9
|
+
/**
|
|
10
|
+
* Creates an isolated database for testing
|
|
11
|
+
* Uses PostgreSQL for testing when available, falls back to mock database
|
|
12
|
+
*/
|
|
13
|
+
createIsolatedDatabase(testId: string): Promise<IDatabaseAdapter>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a minimal mock database adapter for testing when real database unavailable
|
|
16
|
+
* This is a FUNCTIONAL mock that actually stores data in memory
|
|
17
|
+
*/
|
|
18
|
+
private createMockDatabase;
|
|
19
|
+
/**
|
|
20
|
+
* Cleanup a specific test database
|
|
21
|
+
*/
|
|
22
|
+
cleanupDatabase(testId: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Cleanup all test databases
|
|
25
|
+
*/
|
|
26
|
+
cleanup(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Get statistics about test databases
|
|
29
|
+
*/
|
|
30
|
+
getStats(): {
|
|
31
|
+
activeDatabases: number;
|
|
32
|
+
tempPaths: string[];
|
|
33
|
+
memoryUsage: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Convenience function to create an isolated test database
|
|
38
|
+
*/
|
|
39
|
+
export declare function createTestDatabase(testId?: string): Promise<{
|
|
40
|
+
adapter: IDatabaseAdapter;
|
|
41
|
+
manager: TestDatabaseManager;
|
|
42
|
+
testId: string;
|
|
43
|
+
}>;
|
|
44
|
+
//# sourceMappingURL=testDatabase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testDatabase.d.ts","sourceRoot":"","sources":["../../src/testDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAQ,MAAM,eAAe,CAAC;AAI5D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,SAAS,CAA0B;IAE3C;;;OAGG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0EvE;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAysB1B;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAepD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;OAEG;IACH,QAAQ,IAAI;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB;CAOF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAMD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { IAgentRuntime, TextGenerationParams, TextEmbeddingParams } from '@elizaos/core';
|
|
2
|
+
/**
|
|
3
|
+
* Realistic Test Model Provider - Provides configurable but realistic AI model responses
|
|
4
|
+
* Replaces hardcoded mock responses with intelligent, context-aware responses
|
|
5
|
+
*/
|
|
6
|
+
export declare class TestModelProvider {
|
|
7
|
+
private responses;
|
|
8
|
+
private patterns;
|
|
9
|
+
private defaultResponse;
|
|
10
|
+
private contextHistory;
|
|
11
|
+
constructor(defaultResponse?: string, _options?: {
|
|
12
|
+
enableContextMemory?: boolean;
|
|
13
|
+
maxContextHistory?: number;
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Add realistic default response patterns
|
|
17
|
+
*/
|
|
18
|
+
private addDefaultPatterns;
|
|
19
|
+
/**
|
|
20
|
+
* Generate text response based on prompt
|
|
21
|
+
*/
|
|
22
|
+
generateText(params: TextGenerationParams): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Generate embeddings for text (mock implementation with consistent vectors)
|
|
25
|
+
*/
|
|
26
|
+
generateEmbedding(params: TextEmbeddingParams): Promise<number[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Generate object-structured responses
|
|
29
|
+
*/
|
|
30
|
+
generateObject(params: any): Promise<Record<string, any>>;
|
|
31
|
+
/**
|
|
32
|
+
* Make response more contextual based on prompt content
|
|
33
|
+
*/
|
|
34
|
+
private makeContextual;
|
|
35
|
+
/**
|
|
36
|
+
* Generate intelligent default response based on prompt analysis
|
|
37
|
+
*/
|
|
38
|
+
private generateIntelligentDefault;
|
|
39
|
+
/**
|
|
40
|
+
* Extract key terms from prompt for contextualization
|
|
41
|
+
*/
|
|
42
|
+
private extractKeyTerms;
|
|
43
|
+
/**
|
|
44
|
+
* Simple hash function for deterministic embeddings
|
|
45
|
+
*/
|
|
46
|
+
private simpleHash;
|
|
47
|
+
/**
|
|
48
|
+
* Add interaction to context history
|
|
49
|
+
*/
|
|
50
|
+
private addToHistory;
|
|
51
|
+
/**
|
|
52
|
+
* Set a specific response for a prompt
|
|
53
|
+
*/
|
|
54
|
+
setResponse(prompt: string, response: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Add a pattern-based response
|
|
57
|
+
*/
|
|
58
|
+
addPattern(pattern: RegExp, response: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Set the default response
|
|
61
|
+
*/
|
|
62
|
+
setDefaultResponse(response: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* Clear all custom responses and patterns
|
|
65
|
+
*/
|
|
66
|
+
clear(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Get conversation history
|
|
69
|
+
*/
|
|
70
|
+
getHistory(): Array<{
|
|
71
|
+
prompt: string;
|
|
72
|
+
response: string;
|
|
73
|
+
}>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create a test model provider with specific scenarios
|
|
77
|
+
*/
|
|
78
|
+
export declare function createTestModelProvider(scenarios?: Array<{
|
|
79
|
+
prompt: RegExp | string;
|
|
80
|
+
response: string;
|
|
81
|
+
}>, defaultResponse?: string): TestModelProvider;
|
|
82
|
+
/**
|
|
83
|
+
* Create specialized model provider for different types of testing
|
|
84
|
+
*/
|
|
85
|
+
export declare function createSpecializedModelProvider(type: 'conversational' | 'analytical' | 'creative' | 'factual'): TestModelProvider;
|
|
86
|
+
/**
|
|
87
|
+
* Model handler wrapper that integrates with ElizaOS runtime
|
|
88
|
+
*/
|
|
89
|
+
export declare function createModelHandler(provider: TestModelProvider): (runtime: IAgentRuntime, params: any) => Promise<any>;
|
|
90
|
+
/**
|
|
91
|
+
* Test scenario builder for common testing patterns
|
|
92
|
+
*/
|
|
93
|
+
export declare class TestScenarioBuilder {
|
|
94
|
+
private scenarios;
|
|
95
|
+
addGreeting(response?: string): this;
|
|
96
|
+
addTaskCreation(response?: string): this;
|
|
97
|
+
addSearch(response?: string): this;
|
|
98
|
+
addCustom(prompt: RegExp | string, response: string): this;
|
|
99
|
+
build(defaultResponse?: string): TestModelProvider;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Convenience function to quickly create test scenarios
|
|
103
|
+
*/
|
|
104
|
+
export declare function scenarios(): TestScenarioBuilder;
|
|
105
|
+
//# sourceMappingURL=testModels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testModels.d.ts","sourceRoot":"","sources":["../../src/testModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG9F;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAAoD;IACpE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAmD;gBAGvE,eAAe,GAAE,MAAgD,EACjE,QAAQ,GAAE;QACR,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KACvB;IAQR;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiH1B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCjE;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBvE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAuC/D;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACH,OAAO,CAAC,eAAe;IA4DvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,UAAU,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAG1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,GAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAM,EACpE,eAAe,CAAC,EAAE,MAAM,GACvB,iBAAiB,CAYnB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAC7D,iBAAiB,CAkCnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,IAC9C,SAAS,aAAa,EAAE,QAAQ,GAAG,KAAG,OAAO,CAAC,GAAG,CAAC,CAmBjE;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAA4D;IAE7E,WAAW,CAAC,QAAQ,GAAE,MAAqC,GAAG,IAAI;IAQlE,eAAe,CAAC,QAAQ,GAAE,MAAyC,GAAG,IAAI;IAQ1E,SAAS,CAAC,QAAQ,GAAE,MAA8C,GAAG,IAAI;IAQzE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK1D,KAAK,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,iBAAiB;CAGnD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,mBAAmB,CAE/C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Testing Infrastructure for ElizaOS
|
|
3
|
+
*
|
|
4
|
+
* This module provides the standardized TestSuite interface that all ElizaOS packages
|
|
5
|
+
* should use for consistent testing across the monorepo. It integrates with Bun's
|
|
6
|
+
* testing framework while providing a unified API.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Unified TestSuite class for consistent testing across ElizaOS packages
|
|
10
|
+
* This provides the same interface used by all migrated packages
|
|
11
|
+
*/
|
|
12
|
+
export declare class TestSuite {
|
|
13
|
+
private name;
|
|
14
|
+
private tests;
|
|
15
|
+
private beforeEachFn?;
|
|
16
|
+
private afterEachFn?;
|
|
17
|
+
constructor(name: string);
|
|
18
|
+
beforeEach<T = any>(fn: (context: T) => Promise<void> | void): void;
|
|
19
|
+
afterEach<T = any>(fn: (context: T) => Promise<void> | void): void;
|
|
20
|
+
addTest<T = any>(name: string, fn: (context: T) => Promise<void> | void): void;
|
|
21
|
+
run(): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Helper function to create a TestSuite for unit tests
|
|
25
|
+
* This is the primary way packages should create test suites
|
|
26
|
+
*/
|
|
27
|
+
export declare function createUnitTest(name: string): TestSuite;
|
|
28
|
+
/**
|
|
29
|
+
* Helper function to create a TestSuite for plugin tests
|
|
30
|
+
*/
|
|
31
|
+
export declare function createPluginTest(name: string): TestSuite;
|
|
32
|
+
/**
|
|
33
|
+
* Helper function to create a TestSuite for integration tests
|
|
34
|
+
*/
|
|
35
|
+
export declare function createIntegrationTest(name: string): TestSuite;
|
|
36
|
+
/**
|
|
37
|
+
* Helper function to create a TestSuite for E2E tests
|
|
38
|
+
*/
|
|
39
|
+
export declare function createE2ETest(name: string): TestSuite;
|
|
40
|
+
//# sourceMappingURL=unifiedTestSuite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unifiedTestSuite.d.ts","sourceRoot":"","sources":["../../src/unifiedTestSuite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH,qBAAa,SAAS;IAQR,OAAO,CAAC,IAAI;IAPxB,OAAO,CAAC,KAAK,CAGL;IACR,OAAO,CAAC,YAAY,CAAC,CAAyC;IAC9D,OAAO,CAAC,WAAW,CAAC,CAAyC;gBAEzC,IAAI,EAAE,MAAM;IAEhC,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAInE,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAIlE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI9E,GAAG,IAAI,IAAI;CA0BZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAUtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAExD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAErD"}
|