linxus fs fixes

This commit is contained in:
Boki 2025-06-09 22:55:51 -04:00
parent ac23b70146
commit 0b7846fe67
292 changed files with 41947 additions and 41947 deletions

View file

@ -1,112 +1,112 @@
"use strict";
/**
* Bun Test Setup File for Stock Bot Trading Platform
*
* Global test configuration and utilities available across all tests.
* This file is executed before each test via bunfig.toml preload.
*/
// Increase test timeout if needed (already configured in bunfig.toml)
// Bun.timeout = 30000;
// Store original console methods to allow restoration
const originalConsole = global.console;
// Mock console methods to reduce noise during tests
// These can be restored with testHelpers.restoreConsole()
console.log = () => { };
console.debug = () => { };
console.info = () => { };
console.warn = () => { };
console.error = () => { };
global.testHelpers = {
/**
* Sleep utility for async tests
*/
sleep: (ms) => new Promise(resolve => setTimeout(resolve, ms)),
/**
* Consistent mock timestamp for tests
*/
mockTimestamp: () => new Date('2024-01-01T12:00:00Z'),
/**
* Generate test OHLCV data
*/
generateTestOHLCV: (symbol = 'AAPL', overrides = {}) => ({
symbol,
open: 150.0,
high: 153.0,
low: 149.0,
close: 152.5,
volume: 10000,
timestamp: global.testHelpers.mockTimestamp(),
...overrides
}),
/**
* Generate test trade data
*/
generateTestTrade: (symbol = 'AAPL', overrides = {}) => ({
symbol,
price: 152.5,
size: 100,
timestamp: global.testHelpers.mockTimestamp(),
exchange: 'NASDAQ',
conditions: ['@', 'T'],
...overrides
}),
/**
* Generate test quote data
*/
generateTestQuote: (symbol = 'AAPL', overrides = {}) => ({
symbol,
bidPrice: 152.45,
bidSize: 200,
askPrice: 152.55,
askSize: 150,
timestamp: global.testHelpers.mockTimestamp(),
...overrides
}),
/**
* Create a mock logger
*/
mockLogger: () => ({
debug: () => { },
info: () => { },
warn: () => { },
error: () => { },
critical: () => { },
}),
/**
* Restore console methods
*/
restoreConsole: () => {
global.console = originalConsole;
}
};
// Set up spyOn utilities
// Similar to jest.spyOn but using Bun's built-in spy functionality
// This makes it easier to migrate from Jest
global.spyOn = function (object, method) {
const original = object[method];
const mock = function (...args) {
mock.mock.calls.push(args);
return mock.mockImplementation ? mock.mockImplementation(...args) : original.apply(object, args);
};
mock.mock = { calls: [] };
mock.mockClear = () => { mock.mock.calls = []; return mock; };
mock.mockReset = () => {
mock.mock.calls = [];
mock.mockImplementation = null;
return mock;
};
mock.mockImplementation = null;
mock.mockReturnValue = (value) => {
mock.mockImplementation = () => value;
return mock;
};
mock.mockResolvedValue = (value) => {
return mock.mockReturnValue(Promise.resolve(value));
};
mock.mockRejectedValue = (value) => {
return mock.mockReturnValue(Promise.reject(value));
};
object[method] = mock;
return mock;
};
"use strict";
/**
* Bun Test Setup File for Stock Bot Trading Platform
*
* Global test configuration and utilities available across all tests.
* This file is executed before each test via bunfig.toml preload.
*/
// Increase test timeout if needed (already configured in bunfig.toml)
// Bun.timeout = 30000;
// Store original console methods to allow restoration
const originalConsole = global.console;
// Mock console methods to reduce noise during tests
// These can be restored with testHelpers.restoreConsole()
console.log = () => { };
console.debug = () => { };
console.info = () => { };
console.warn = () => { };
console.error = () => { };
global.testHelpers = {
/**
* Sleep utility for async tests
*/
sleep: (ms) => new Promise(resolve => setTimeout(resolve, ms)),
/**
* Consistent mock timestamp for tests
*/
mockTimestamp: () => new Date('2024-01-01T12:00:00Z'),
/**
* Generate test OHLCV data
*/
generateTestOHLCV: (symbol = 'AAPL', overrides = {}) => ({
symbol,
open: 150.0,
high: 153.0,
low: 149.0,
close: 152.5,
volume: 10000,
timestamp: global.testHelpers.mockTimestamp(),
...overrides
}),
/**
* Generate test trade data
*/
generateTestTrade: (symbol = 'AAPL', overrides = {}) => ({
symbol,
price: 152.5,
size: 100,
timestamp: global.testHelpers.mockTimestamp(),
exchange: 'NASDAQ',
conditions: ['@', 'T'],
...overrides
}),
/**
* Generate test quote data
*/
generateTestQuote: (symbol = 'AAPL', overrides = {}) => ({
symbol,
bidPrice: 152.45,
bidSize: 200,
askPrice: 152.55,
askSize: 150,
timestamp: global.testHelpers.mockTimestamp(),
...overrides
}),
/**
* Create a mock logger
*/
mockLogger: () => ({
debug: () => { },
info: () => { },
warn: () => { },
error: () => { },
critical: () => { },
}),
/**
* Restore console methods
*/
restoreConsole: () => {
global.console = originalConsole;
}
};
// Set up spyOn utilities
// Similar to jest.spyOn but using Bun's built-in spy functionality
// This makes it easier to migrate from Jest
global.spyOn = function (object, method) {
const original = object[method];
const mock = function (...args) {
mock.mock.calls.push(args);
return mock.mockImplementation ? mock.mockImplementation(...args) : original.apply(object, args);
};
mock.mock = { calls: [] };
mock.mockClear = () => { mock.mock.calls = []; return mock; };
mock.mockReset = () => {
mock.mock.calls = [];
mock.mockImplementation = null;
return mock;
};
mock.mockImplementation = null;
mock.mockReturnValue = (value) => {
mock.mockImplementation = () => value;
return mock;
};
mock.mockResolvedValue = (value) => {
return mock.mockReturnValue(Promise.resolve(value));
};
mock.mockRejectedValue = (value) => {
return mock.mockReturnValue(Promise.reject(value));
};
object[method] = mock;
return mock;
};
//# sourceMappingURL=setup.js.map