Files
trading_bot_v3/test-localStorage-persistence.js
mindesbunister dc8120ca61 fix: localStorage key consistency for Safe Paper Trading positions
- Fixed conflicting localStorage keys causing positions to disappear
- Added backward compatibility to load from both old and new key patterns
- Standardized to safePaperTrading_ prefix for consistency
- Updated reset function to clear all key patterns
- Positions should now persist when navigating between pages
2025-08-06 00:20:33 +02:00

88 lines
2.8 KiB
JavaScript

/**
* Test script to check localStorage persistence for Safe Paper Trading
*/
// Test the localStorage data that should persist
const testLocalStorageKeys = [
'safePaperTrades',
'safePaperBalance',
'safePaperTrading_paperTrades',
'safePaperTrading_paperBalance',
'safePaperTrading_currentAnalysis',
'safePaperTrading_analysisHistory',
'safePaperTrading_learningInsights'
];
console.log('📋 Testing Safe Paper Trading localStorage persistence...\n');
// Create a sample trade to test with
const sampleTrade = {
id: 'TEST_' + Date.now(),
symbol: 'SOLUSD',
type: 'BUY',
size: 100,
entryPrice: 142.50,
timestamp: new Date().toISOString(),
status: 'OPEN',
confidence: 75,
reasoning: 'Test trade for localStorage persistence'
};
console.log('✅ Sample trade created:', JSON.stringify(sampleTrade, null, 2));
// Test saving to both key patterns
const currentTrades = [sampleTrade];
const currentBalance = 1000;
console.log('\n💾 Saving to localStorage with both key patterns...');
// Save using both patterns
localStorage.setItem('safePaperTrades', JSON.stringify(currentTrades));
localStorage.setItem('safePaperBalance', currentBalance.toString());
localStorage.setItem('safePaperTrading_paperTrades', JSON.stringify(currentTrades));
localStorage.setItem('safePaperTrading_paperBalance', currentBalance.toString());
console.log('✅ Data saved to localStorage');
// Test reading back
console.log('\n📖 Reading back from localStorage...');
testLocalStorageKeys.forEach(key => {
const value = localStorage.getItem(key);
if (value) {
try {
const parsed = JSON.parse(value);
console.log(`${key}: ${Array.isArray(parsed) ? `${parsed.length} trades` : `value: ${parsed}`}`);
} catch (e) {
console.log(`${key}: ${value}`);
}
} else {
console.log(`${key}: NOT FOUND`);
}
});
// Test the backward compatibility loading logic
console.log('\n🔄 Testing backward compatibility loading...');
const loadedTrades = localStorage.getItem('safePaperTrading_paperTrades') || localStorage.getItem('safePaperTrades');
const loadedBalance = localStorage.getItem('safePaperTrading_paperBalance') || localStorage.getItem('safePaperBalance');
if (loadedTrades) {
const trades = JSON.parse(loadedTrades);
console.log(`✅ Successfully loaded ${trades.length} trades using backward compatibility`);
console.log(`📊 Trade details:`, trades[0]);
} else {
console.log('❌ Failed to load trades using backward compatibility');
}
if (loadedBalance) {
console.log(`✅ Successfully loaded balance: $${loadedBalance}`);
} else {
console.log('❌ Failed to load balance using backward compatibility');
}
console.log('\n🎯 Test completed!');
console.log('💡 If you see this data when you refresh the page, localStorage persistence is working correctly.');
module.exports = { sampleTrade, testLocalStorageKeys };