-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathsetup.ts
More file actions
57 lines (50 loc) · 1.85 KB
/
Copy pathsetup.ts
File metadata and controls
57 lines (50 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
* Test Setup File for Vitest v4+
*
* Provides global setup, mocks, and configuration for the Anchor Engine test suite.
*/
import { homedir } from 'os';
import path from 'path';
// Global test environment variables
process.env.NODE_ENV = process.env.NODE_ENV || 'test';
process.env.ANCHOR_ROOT = process.env.ANCHOR_ROOT || '/.anchor';
process.env.TS_NODE_TRANSPILE_ONLY = 'true';
// Override ANCHOR_ROOT to match real user config for tests
if (process.platform === 'win32') {
const os = require('os');
process.env.ANCHOR_ROOT = path.resolve(os.homedir(), '.anchor');
} else {
process.env.ANCHOR_ROOT = path.resolve(homedir(), '.anchor');
}
// Set environment variables to use user_settings.json paths directly
const osModule = require('os');
process.env.INBOX_DIR = path.resolve(osModule.homedir(), '.anchor', 'inbox');
process.env.EXTERNAL_INBOX_DIR = path.resolve(osModule.homedir(), '.anchor', 'external-inbox');
process.env.MIRRORED_BRAIN_DIR = path.resolve(osModule.homedir(), '.anchor', 'mirrored_brain');
// Note: In vitest v4, mocks need to be set up differently
const mockPathManager = {
pathManager: {
getNativePath: (binaryName: string) => `/path/to/${binaryName}`,
},
};
const mockModule = {
createRequire: () => (modulePath: string) => {
if (modulePath.includes('fail')) {
throw new Error(`Module not found: ${modulePath}`);
}
return {
testFunction: () => 'success',
cleanse: (str: string) => str,
atomize: (content: string) => content.split(/\n\n+/),
fingerprint: (str: string) => BigInt(Date.now()),
distance: (a: bigint, b: bigint) => Number(a ^ b),
};
},
};
// Export mocks for use in tests
export { mockPathManager, mockModule };
// Log test environment setup
console.log('[Test Setup] Environment configured:', {
NODE_ENV: process.env.NODE_ENV,
ANCHOR_ROOT: process.env.ANCHOR_ROOT,
});