@elizaos/cli 1.3.1 → 1.4.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/README.md +47 -1
- package/dist/{bun-exec-6CQHTS4F.js → bun-exec-ULMPAIQC.js} +1 -1
- package/dist/{chunk-2ALAPQLV.js → chunk-D3QSET5H.js} +342 -360
- package/dist/{chunk-FDEDLANP.js → chunk-FQYWRHLX.js} +1 -1
- package/dist/{chunk-RM6LUTKD.js → chunk-FSSUAWXQ.js} +3 -3
- package/dist/chunk-GXWWPFBO.js +39 -0
- package/dist/{chunk-D3Q2UZLZ.js → chunk-I4L4T7QX.js} +1 -1
- package/dist/{chunk-KDNV7EA5.js → chunk-SMZBJQJR.js} +1 -1
- package/dist/commands/agent/actions/index.d.ts +5 -0
- package/dist/commands/agent/actions/index.js +4 -4
- package/dist/commands/agent/index.d.ts +2 -2
- package/dist/commands/agent/index.js +4 -4
- package/dist/commands/create/actions/index.js +5 -5
- package/dist/commands/create/index.js +6 -6
- package/dist/commands/shared/index.d.ts +11 -28
- package/dist/commands/shared/index.js +7 -3
- package/dist/index.js +599 -483
- package/dist/{plugin-creator-H26ZLR6H.js → plugin-creator-TCUFII32.js} +2 -2
- package/dist/{registry-N626N4VG.js → registry-RF6PW3EN.js} +4 -4
- package/dist/templates/plugin-quick-starter/README.md +52 -10
- package/dist/templates/plugin-quick-starter/package.json +10 -3
- package/dist/templates/plugin-quick-starter/src/__tests__/e2e/README.md +140 -0
- package/dist/templates/plugin-quick-starter/src/__tests__/e2e/plugin-quick-starter.e2e.ts +339 -0
- package/dist/templates/plugin-quick-starter/src/__tests__/plugin.test.ts +537 -146
- package/dist/templates/plugin-quick-starter/src/__tests__/test-utils.ts +316 -115
- package/dist/templates/plugin-quick-starter/src/plugin.ts +20 -26
- package/dist/templates/plugin-starter/README.md +124 -49
- package/dist/templates/plugin-starter/package.json +10 -3
- package/dist/templates/plugin-starter/src/__tests__/e2e/README.md +44 -9
- package/{templates/plugin-starter/src/__tests__/e2e/starter-plugin.ts → dist/templates/plugin-starter/src/__tests__/e2e/plugin-starter.e2e.ts} +13 -20
- package/dist/templates/plugin-starter/src/__tests__/integration.test.ts +13 -13
- package/dist/templates/plugin-starter/src/__tests__/plugin.test.ts +556 -129
- package/dist/templates/plugin-starter/src/__tests__/test-utils.ts +347 -115
- package/dist/templates/plugin-starter/src/plugin.ts +21 -27
- package/dist/templates/project-starter/README.md +25 -12
- package/dist/templates/project-starter/package.json +4 -4
- package/dist/templates/project-starter/src/__tests__/actions.test.ts +2 -2
- package/dist/templates/project-starter/src/__tests__/e2e/README.md +103 -0
- package/dist/templates/project-starter/src/__tests__/e2e/project-starter.e2e.ts +575 -0
- package/dist/templates/project-starter/src/__tests__/env.test.ts +3 -1
- package/dist/templates/project-starter/src/__tests__/file-structure.test.ts +3 -2
- package/dist/templates/project-starter/src/__tests__/integration.test.ts +2 -2
- package/dist/templates/project-starter/src/__tests__/models.test.ts +3 -3
- package/dist/templates/project-starter/src/__tests__/plugin.test.ts +3 -3
- package/dist/templates/project-starter/src/__tests__/provider.test.ts +2 -2
- package/dist/templates/project-starter/src/index.ts +4 -3
- package/dist/templates/project-starter/src/plugin.ts +5 -5
- package/dist/templates/project-starter/tsup.config.ts +2 -1
- package/dist/templates/project-tee-starter/.dockerignore +64 -14
- package/dist/templates/project-tee-starter/Dockerfile +9 -5
- package/dist/templates/project-tee-starter/GUIDE.md +103 -42
- package/dist/templates/project-tee-starter/README.md +83 -24
- package/dist/templates/project-tee-starter/docker-compose.yaml +5 -2
- package/dist/templates/{plugin-starter/dist → project-tee-starter}/index.html +3 -3
- package/dist/templates/project-tee-starter/package.json +34 -14
- package/dist/templates/project-tee-starter/postcss.config.js +3 -0
- package/dist/templates/project-tee-starter/scripts/install-test-deps.js +52 -0
- package/dist/templates/project-tee-starter/scripts/test-all.sh +82 -0
- package/dist/templates/project-tee-starter/src/__tests__/build-order.test.ts +62 -0
- package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/character.test.ts +20 -18
- package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/config.test.ts +11 -4
- package/dist/templates/project-tee-starter/src/__tests__/e2e/README.md +128 -0
- package/dist/templates/project-tee-starter/src/__tests__/e2e/project-tee-starter.e2e.ts +280 -0
- package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/env.test.ts +3 -2
- package/{templates/project-tee-starter → dist/templates/project-tee-starter/src}/__tests__/error-handling.test.ts +2 -2
- package/{templates/project-tee-starter → dist/templates/project-tee-starter/src}/__tests__/events.test.ts +1 -1
- package/{templates/project-tee-starter → dist/templates/project-tee-starter/src}/__tests__/file-structure.test.ts +16 -5
- package/dist/templates/project-tee-starter/src/__tests__/frontend.test.ts +459 -0
- package/{templates/project-tee-starter → dist/templates/project-tee-starter/src}/__tests__/integration.test.ts +2 -2
- package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/models.test.ts +1 -1
- package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/plugin.test.ts +5 -3
- package/{templates/project-tee-starter → dist/templates/project-tee-starter/src}/__tests__/provider.test.ts +2 -2
- package/dist/templates/project-tee-starter/src/__tests__/routes.test.ts +30 -0
- package/dist/templates/project-tee-starter/src/__tests__/tee-validation.test.ts +295 -0
- package/{templates/project-tee-starter → dist/templates/project-tee-starter/src}/__tests__/test-utils.ts +2 -2
- package/dist/templates/project-tee-starter/src/__tests__/vite-config-utils.ts +51 -0
- package/dist/templates/project-tee-starter/src/frontend/index.css +106 -0
- package/dist/templates/project-tee-starter/src/frontend/index.html +20 -0
- package/dist/templates/project-tee-starter/src/frontend/index.tsx +370 -0
- package/dist/templates/project-tee-starter/src/frontend/panels.tsx +17 -0
- package/dist/templates/project-tee-starter/src/frontend/utils.ts +6 -0
- package/dist/templates/project-tee-starter/src/index.ts +8 -6
- package/dist/templates/project-tee-starter/src/plugin.ts +223 -61
- package/dist/templates/project-tee-starter/tailwind.config.js +62 -0
- package/dist/templates/project-tee-starter/tsconfig.build.json +2 -2
- package/dist/templates/project-tee-starter/tsconfig.json +8 -5
- package/dist/templates/project-tee-starter/tsup.config.ts +3 -2
- package/dist/templates/project-tee-starter/vite.config.ts +39 -0
- package/dist/url-utils-CKc_Ebt_.d.ts +35 -0
- package/dist/{utils-H66532NB.js → utils-5HPZSIF6.js} +4 -4
- package/package.json +7 -6
- package/templates/plugin-quick-starter/README.md +52 -10
- package/templates/plugin-quick-starter/package.json +10 -3
- package/templates/plugin-quick-starter/src/__tests__/e2e/README.md +140 -0
- package/templates/plugin-quick-starter/src/__tests__/e2e/plugin-quick-starter.e2e.ts +339 -0
- package/templates/plugin-quick-starter/src/__tests__/plugin.test.ts +537 -146
- package/templates/plugin-quick-starter/src/__tests__/test-utils.ts +316 -115
- package/templates/plugin-quick-starter/src/plugin.ts +20 -26
- package/templates/plugin-starter/README.md +124 -49
- package/templates/plugin-starter/package.json +10 -3
- package/templates/plugin-starter/src/__tests__/e2e/README.md +44 -9
- package/{dist/templates/plugin-starter/src/__tests__/e2e/starter-plugin.ts → templates/plugin-starter/src/__tests__/e2e/plugin-starter.e2e.ts} +13 -20
- package/templates/plugin-starter/src/__tests__/integration.test.ts +13 -13
- package/templates/plugin-starter/src/__tests__/plugin.test.ts +556 -129
- package/templates/plugin-starter/src/__tests__/test-utils.ts +347 -115
- package/templates/plugin-starter/src/plugin.ts +21 -27
- package/templates/project-starter/README.md +25 -12
- package/templates/project-starter/package.json +4 -4
- package/templates/project-starter/src/__tests__/actions.test.ts +2 -2
- package/templates/project-starter/src/__tests__/e2e/README.md +103 -0
- package/templates/project-starter/src/__tests__/e2e/project-starter.e2e.ts +575 -0
- package/templates/project-starter/src/__tests__/env.test.ts +3 -1
- package/templates/project-starter/src/__tests__/file-structure.test.ts +3 -2
- package/templates/project-starter/src/__tests__/integration.test.ts +2 -2
- package/templates/project-starter/src/__tests__/models.test.ts +3 -3
- package/templates/project-starter/src/__tests__/plugin.test.ts +3 -3
- package/templates/project-starter/src/__tests__/provider.test.ts +2 -2
- package/templates/project-starter/src/index.ts +4 -3
- package/templates/project-starter/src/plugin.ts +5 -5
- package/templates/project-starter/tsup.config.ts +2 -1
- package/templates/project-tee-starter/.dockerignore +64 -14
- package/templates/project-tee-starter/Dockerfile +9 -5
- package/templates/project-tee-starter/GUIDE.md +103 -42
- package/templates/project-tee-starter/README.md +83 -24
- package/templates/project-tee-starter/docker-compose.yaml +5 -2
- package/templates/{plugin-starter/dist → project-tee-starter}/index.html +3 -3
- package/templates/project-tee-starter/package.json +34 -14
- package/templates/project-tee-starter/postcss.config.js +3 -0
- package/templates/project-tee-starter/scripts/install-test-deps.js +52 -0
- package/templates/project-tee-starter/scripts/test-all.sh +82 -0
- package/templates/project-tee-starter/src/__tests__/build-order.test.ts +62 -0
- package/templates/project-tee-starter/{__tests__ → src/__tests__}/character.test.ts +20 -18
- package/templates/project-tee-starter/{__tests__ → src/__tests__}/config.test.ts +11 -4
- package/templates/project-tee-starter/src/__tests__/e2e/README.md +128 -0
- package/templates/project-tee-starter/src/__tests__/e2e/project-tee-starter.e2e.ts +280 -0
- package/templates/project-tee-starter/{__tests__ → src/__tests__}/env.test.ts +3 -2
- package/{dist/templates/project-tee-starter → templates/project-tee-starter/src}/__tests__/error-handling.test.ts +2 -2
- package/{dist/templates/project-tee-starter → templates/project-tee-starter/src}/__tests__/events.test.ts +1 -1
- package/{dist/templates/project-tee-starter → templates/project-tee-starter/src}/__tests__/file-structure.test.ts +16 -5
- package/templates/project-tee-starter/src/__tests__/frontend.test.ts +459 -0
- package/{dist/templates/project-tee-starter → templates/project-tee-starter/src}/__tests__/integration.test.ts +2 -2
- package/templates/project-tee-starter/{__tests__ → src/__tests__}/models.test.ts +1 -1
- package/templates/project-tee-starter/{__tests__ → src/__tests__}/plugin.test.ts +5 -3
- package/{dist/templates/project-tee-starter → templates/project-tee-starter/src}/__tests__/provider.test.ts +2 -2
- package/templates/project-tee-starter/src/__tests__/routes.test.ts +30 -0
- package/templates/project-tee-starter/src/__tests__/tee-validation.test.ts +295 -0
- package/{dist/templates/project-tee-starter → templates/project-tee-starter/src}/__tests__/test-utils.ts +2 -2
- package/templates/project-tee-starter/src/__tests__/vite-config-utils.ts +51 -0
- package/templates/project-tee-starter/src/frontend/index.css +106 -0
- package/templates/project-tee-starter/src/frontend/index.html +20 -0
- package/templates/project-tee-starter/src/frontend/index.tsx +370 -0
- package/templates/project-tee-starter/src/frontend/panels.tsx +17 -0
- package/templates/project-tee-starter/src/frontend/utils.ts +6 -0
- package/templates/project-tee-starter/src/index.ts +8 -6
- package/templates/project-tee-starter/src/plugin.ts +223 -61
- package/templates/project-tee-starter/tailwind.config.js +62 -0
- package/templates/project-tee-starter/tsconfig.build.json +2 -2
- package/templates/project-tee-starter/tsconfig.json +8 -5
- package/templates/project-tee-starter/tsup.config.ts +3 -2
- package/templates/project-tee-starter/vite.config.ts +39 -0
- package/dist/chunk-4O6EZU37.js +0 -14
- package/dist/migration-guides/advanced-migration-guide.md +0 -459
- package/dist/migration-guides/completion-requirements.md +0 -379
- package/dist/migration-guides/integrated-migration-loop.md +0 -392
- package/dist/migration-guides/migration-guide.md +0 -712
- package/dist/migration-guides/prompt-and-generation-guide.md +0 -702
- package/dist/migration-guides/state-and-providers-guide.md +0 -544
- package/dist/migration-guides/testing-guide.md +0 -1021
- package/dist/templates/plugin-starter/dist/assets/index-CgkejLs_.css +0 -1
- package/dist/templates/plugin-starter/dist/assets/index-D1cHX53P.js +0 -49
- package/dist/templates/plugin-starter/dist/index.js +0 -387
- package/dist/templates/plugin-starter/dist/index.js.map +0 -1
- package/dist/templates/plugin-starter/src/tests.ts +0 -6
- package/dist/templates/project-starter/src/__tests__/e2e/index.ts +0 -14
- package/dist/templates/project-starter/src/__tests__/e2e/natural-language.test.ts +0 -246
- package/dist/templates/project-starter/src/__tests__/e2e/project.test.ts +0 -155
- package/dist/templates/project-starter/src/__tests__/e2e/starter-plugin.test.ts +0 -421
- package/dist/templates/project-tee-starter/__tests__/routes.test.ts +0 -21
- package/dist/templates/project-tee-starter/e2e/project.test.ts +0 -38
- package/dist/templates/project-tee-starter/e2e/starter-plugin.test.ts +0 -92
- package/templates/plugin-starter/dist/.vite/manifest.json +0 -11
- package/templates/plugin-starter/dist/assets/index-CgkejLs_.css +0 -1
- package/templates/plugin-starter/dist/assets/index-D1cHX53P.js +0 -49
- package/templates/plugin-starter/dist/index.d.ts +0 -14
- package/templates/plugin-starter/dist/index.js +0 -387
- package/templates/plugin-starter/dist/index.js.map +0 -1
- package/templates/plugin-starter/src/tests.ts +0 -6
- package/templates/project-starter/src/__tests__/e2e/index.ts +0 -14
- package/templates/project-starter/src/__tests__/e2e/natural-language.test.ts +0 -246
- package/templates/project-starter/src/__tests__/e2e/project.test.ts +0 -155
- package/templates/project-starter/src/__tests__/e2e/starter-plugin.test.ts +0 -421
- package/templates/project-tee-starter/__tests__/routes.test.ts +0 -21
- package/templates/project-tee-starter/e2e/project.test.ts +0 -38
- package/templates/project-tee-starter/e2e/starter-plugin.test.ts +0 -92
- /package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/actions.test.ts +0 -0
- /package/dist/templates/project-tee-starter/{__tests__ → src/__tests__}/utils/core-test-utils.ts +0 -0
- /package/templates/project-tee-starter/{__tests__ → src/__tests__}/actions.test.ts +0 -0
- /package/templates/project-tee-starter/{__tests__ → src/__tests__}/utils/core-test-utils.ts +0 -0
|
@@ -42,27 +42,40 @@ elizaos test
|
|
|
42
42
|
|
|
43
43
|
## Testing
|
|
44
44
|
|
|
45
|
-
ElizaOS
|
|
45
|
+
ElizaOS employs a dual testing strategy:
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
1. **Component Tests** (`src/__tests__/*.test.ts`)
|
|
48
|
+
|
|
49
|
+
- Run with Bun's native test runner
|
|
50
|
+
- Fast, isolated tests using mocks
|
|
51
|
+
- Perfect for TDD and component logic
|
|
48
52
|
|
|
49
|
-
|
|
53
|
+
2. **E2E Tests** (`src/__tests__/e2e/*.e2e.ts`)
|
|
54
|
+
- Run with ElizaOS custom test runner
|
|
55
|
+
- Real runtime with actual database (PGLite)
|
|
56
|
+
- Test complete user scenarios
|
|
50
57
|
|
|
51
|
-
|
|
52
|
-
- **Integration Tests**: Test how components work together
|
|
53
|
-
- Run with: `elizaos test component`
|
|
58
|
+
### Test Structure
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
```
|
|
61
|
+
src/
|
|
62
|
+
__tests__/ # All tests live inside src
|
|
63
|
+
*.test.ts # Component tests (use Bun test runner)
|
|
64
|
+
e2e/ # E2E tests (use ElizaOS test runner)
|
|
65
|
+
project-starter.e2e.ts # E2E test suite
|
|
66
|
+
README.md # E2E testing documentation
|
|
67
|
+
index.ts # Export tests here: tests: [ProjectStarterTestSuite]
|
|
68
|
+
```
|
|
56
69
|
|
|
57
|
-
|
|
58
|
-
- Run with: `elizaos test e2e`
|
|
70
|
+
### Running Tests
|
|
59
71
|
|
|
60
|
-
-
|
|
61
|
-
|
|
72
|
+
- `elizaos test` - Run all tests (component + e2e)
|
|
73
|
+
- `elizaos test component` - Run only component tests
|
|
74
|
+
- `elizaos test e2e` - Run only E2E tests
|
|
62
75
|
|
|
63
76
|
### Writing Tests
|
|
64
77
|
|
|
65
|
-
Component tests use
|
|
78
|
+
Component tests use bun:test:
|
|
66
79
|
|
|
67
80
|
```typescript
|
|
68
81
|
// Unit test example (__tests__/config.test.ts)
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"dist"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@elizaos/cli": "1.
|
|
32
|
-
"@elizaos/core": "1.
|
|
33
|
-
"@elizaos/plugin-bootstrap": "1.
|
|
34
|
-
"@elizaos/plugin-sql": "1.
|
|
31
|
+
"@elizaos/cli": "1.4.2",
|
|
32
|
+
"@elizaos/core": "1.4.2",
|
|
33
|
+
"@elizaos/plugin-bootstrap": "1.4.2",
|
|
34
|
+
"@elizaos/plugin-sql": "1.4.2",
|
|
35
35
|
"@tanstack/react-query": "^5.29.0",
|
|
36
36
|
"clsx": "^2.1.1",
|
|
37
37
|
"react": "^18.3.1",
|
|
@@ -107,7 +107,7 @@ describe('Actions', () => {
|
|
|
107
107
|
expect(result).toBe(true);
|
|
108
108
|
} catch (e) {
|
|
109
109
|
error = e as Error;
|
|
110
|
-
logger.error('Validate function error:'
|
|
110
|
+
logger.error({ error: e }, 'Validate function error:');
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
documentTestResult('HELLO_WORLD action validate', result, error);
|
|
@@ -145,7 +145,7 @@ describe('Actions', () => {
|
|
|
145
145
|
expect(callbackResponse).toHaveProperty('source', 'test');
|
|
146
146
|
} catch (e) {
|
|
147
147
|
error = e as Error;
|
|
148
|
-
logger.error('Handler function error:'
|
|
148
|
+
logger.error({ error: e }, 'Handler function error:');
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
documentTestResult('HELLO_WORLD action handler', callbackResponse, error);
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# E2E Tests for Project Starter
|
|
2
|
+
|
|
3
|
+
This directory contains end-to-end tests for the ElizaOS project starter template.
|
|
4
|
+
|
|
5
|
+
## ElizaOS Testing Philosophy
|
|
6
|
+
|
|
7
|
+
ElizaOS employs a dual testing strategy:
|
|
8
|
+
|
|
9
|
+
1. **Component Tests** (`src/__tests__/*.test.ts`)
|
|
10
|
+
|
|
11
|
+
- Run with Bun's native test runner
|
|
12
|
+
- Fast, isolated tests using mocks
|
|
13
|
+
- Perfect for TDD and component logic
|
|
14
|
+
- Command: `bun test`
|
|
15
|
+
|
|
16
|
+
2. **E2E Tests** (`src/__tests__/e2e/*.e2e.ts`)
|
|
17
|
+
- Run with ElizaOS custom test runner
|
|
18
|
+
- Real runtime with actual database (PGLite)
|
|
19
|
+
- Test complete user scenarios
|
|
20
|
+
- Command: `elizaos test --type e2e`
|
|
21
|
+
|
|
22
|
+
## Overview
|
|
23
|
+
|
|
24
|
+
E2E tests run in a real ElizaOS runtime environment, allowing you to test your project's behavior as it would work in production. Unlike component tests, E2E tests provide access to a fully initialized runtime with all services, actions, and providers available.
|
|
25
|
+
|
|
26
|
+
## Test Structure
|
|
27
|
+
|
|
28
|
+
- **ProjectStarterTestSuite** - Main test suite containing comprehensive e2e tests:
|
|
29
|
+
- **Core Project Tests**
|
|
30
|
+
- `project_should_initialize_correctly` - Verifies project and runtime initialization
|
|
31
|
+
- `character_should_be_loaded_correctly` - Validates all character configuration fields
|
|
32
|
+
- **Natural Language Processing Tests**
|
|
33
|
+
- `agent_should_respond_to_greeting` - Tests basic greeting interactions
|
|
34
|
+
- `agent_should_respond_to_hello_world` - Validates specific hello world response
|
|
35
|
+
- `agent_should_respond_to_casual_greetings` - Tests various casual greeting formats
|
|
36
|
+
- `agent_should_maintain_conversation_context` - Validates context retention
|
|
37
|
+
- **Action & Provider Tests**
|
|
38
|
+
- `hello_world_action_direct_execution` - Tests direct action execution
|
|
39
|
+
- `hello_world_provider_test` - Validates provider functionality
|
|
40
|
+
- **Service & System Tests**
|
|
41
|
+
- `starter_service_test` - Tests service lifecycle and configuration
|
|
42
|
+
- `memory_system_should_store_and_retrieve_messages` - Tests memory persistence
|
|
43
|
+
- `agent_should_handle_multiple_concurrent_messages` - Tests concurrent processing
|
|
44
|
+
- `project_configuration_should_be_valid` - Validates project configuration
|
|
45
|
+
- `plugin_initialization_test` - Tests plugin system integration
|
|
46
|
+
|
|
47
|
+
## Integration with Project
|
|
48
|
+
|
|
49
|
+
E2E tests are integrated directly into your project through the main index.ts file:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
// src/index.ts
|
|
53
|
+
import { ProjectStarterTestSuite } from './__tests__/e2e/project-starter.e2e';
|
|
54
|
+
|
|
55
|
+
export const project: Project = {
|
|
56
|
+
agents: [projectAgent],
|
|
57
|
+
tests: [ProjectStarterTestSuite], // Direct import!
|
|
58
|
+
};
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Running Tests
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Run all tests (component + e2e)
|
|
65
|
+
elizaos test
|
|
66
|
+
|
|
67
|
+
# Run only e2e tests (slower, full integration)
|
|
68
|
+
elizaos test --type e2e
|
|
69
|
+
|
|
70
|
+
# Run only component tests (fast, for TDD)
|
|
71
|
+
bun test
|
|
72
|
+
# or
|
|
73
|
+
elizaos test --type component
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Implementation Details
|
|
77
|
+
|
|
78
|
+
1. **Direct Import**: Tests are imported directly from the e2e test file - no intermediate export file needed
|
|
79
|
+
2. **Project Integration**: The test suite is added to the project's `tests` array
|
|
80
|
+
3. **Test Discovery**: The ElizaOS test runner automatically finds and executes tests from the project's `tests` array
|
|
81
|
+
4. **Runtime Access**: Each test receives a real runtime instance with full access to:
|
|
82
|
+
- Agent character configuration
|
|
83
|
+
- Database and model access
|
|
84
|
+
- All registered plugins and services
|
|
85
|
+
- Memory and conversation history
|
|
86
|
+
|
|
87
|
+
## Key Differences from Plugin Tests
|
|
88
|
+
|
|
89
|
+
- **Export Location**: Tests are exported from the `ProjectAgent` in `src/index.ts` (not directly from `Project`)
|
|
90
|
+
- **Test Focus**: Tests focus on agent behavior and character configuration rather than plugin functionality
|
|
91
|
+
- **Project Context**: Tests have access to the full project configuration including character settings
|
|
92
|
+
|
|
93
|
+
## Writing New Tests
|
|
94
|
+
|
|
95
|
+
See the comprehensive documentation at the top of `project-starter.e2e.ts` for detailed instructions on adding new tests.
|
|
96
|
+
|
|
97
|
+
## Best Practices
|
|
98
|
+
|
|
99
|
+
1. **Test User Journeys**: Focus on complete user interactions with the agent
|
|
100
|
+
2. **Character Validation**: Ensure character properties affect agent behavior as expected
|
|
101
|
+
3. **Context Testing**: Verify the agent maintains context across conversations
|
|
102
|
+
4. **Concurrent Operations**: Test how the agent handles multiple simultaneous requests
|
|
103
|
+
5. **Configuration Validation**: Ensure all required settings are properly loaded
|