fix: harden drift verifier and validation flow
This commit is contained in:
@@ -46,6 +46,19 @@ jest.mock('../lib/utils/logger', () => ({
|
||||
},
|
||||
}))
|
||||
|
||||
// Mock Drift SDK enums to avoid native bindings during tests
|
||||
jest.mock('@drift-labs/sdk', () => ({
|
||||
MarketType: { PERP: 'perp' },
|
||||
PositionDirection: { LONG: 'long', SHORT: 'short' },
|
||||
OrderType: {
|
||||
LIMIT: 'limit',
|
||||
TRIGGER_LIMIT: 'trigger_limit',
|
||||
TRIGGER_MARKET: 'trigger_market',
|
||||
MARKET: 'market',
|
||||
},
|
||||
OrderTriggerCondition: { BELOW: 'below', ABOVE: 'above' },
|
||||
}))
|
||||
|
||||
// Mock Drift service to avoid network calls
|
||||
jest.mock('../lib/drift/client', () => ({
|
||||
getDriftService: jest.fn(() => ({
|
||||
@@ -80,12 +93,15 @@ jest.mock('../lib/notifications/telegram', () => ({
|
||||
sendPositionOpenedNotification: jest.fn(() => Promise.resolve()),
|
||||
}))
|
||||
|
||||
// Mock Drift orders
|
||||
jest.mock('../lib/drift/orders', () => ({
|
||||
closePosition: jest.fn(() => Promise.resolve({ success: true, realizedPnL: 0 })),
|
||||
cancelAllOrders: jest.fn(() => Promise.resolve({ success: true, cancelledCount: 0 })),
|
||||
placeExitOrders: jest.fn(() => Promise.resolve({ success: true })),
|
||||
}))
|
||||
// Mock Drift orders (keep real placeExitOrders for validation tests)
|
||||
jest.mock('../lib/drift/orders', () => {
|
||||
const actual = jest.requireActual('../lib/drift/orders')
|
||||
return {
|
||||
...actual,
|
||||
closePosition: jest.fn(() => Promise.resolve({ success: true, realizedPnL: 0 })),
|
||||
cancelAllOrders: jest.fn(() => Promise.resolve({ success: true, cancelledCount: 0 })),
|
||||
}
|
||||
})
|
||||
|
||||
// Mock market data cache
|
||||
jest.mock('../lib/trading/market-data-cache', () => ({
|
||||
|
||||
Reference in New Issue
Block a user