ihm_client/tests/setup.ts
Nicolas Cantu 71b18a315f feat: amélioration du script de démarrage et ajout des tests
- Amélioration du script start.sh pour une meilleure robustesse
- Suppression des dépendances critiques pour permettre le démarrage même si certains services ne sont pas prêts
- Ajout de vérifications WebSocket pour les relays
- Correction de la fonction hexToBlob pour gérer correctement les types ArrayBuffer
- Ajout de tests unitaires pour les fonctions de conversion hex
- Configuration Jest pour les tests
- Mise à jour de la documentation d'intégration avec 4NK_node
- Amélioration du .gitignore pour exclure les dépendances temporaires
2025-08-25 20:29:24 +02:00

62 lines
1.6 KiB
TypeScript

// Configuration globale pour les tests Jest
// Mock pour les modules WASM
jest.mock('pkg/sdk_client', () => ({
__esModule: true,
default: {
init: jest.fn().mockResolvedValue(undefined),
hash_value: jest.fn().mockReturnValue('mock_hash'),
get_merkle_proof: jest.fn().mockReturnValue({ proof: 'mock_proof' }),
validate_merkle_proof: jest.fn().mockReturnValue(true),
generate_sp_wallet: jest.fn().mockReturnValue({ wallet: 'mock_wallet' }),
lock_freezed_utxos: jest.fn().mockReturnValue(true),
scan_blocks: jest.fn().mockReturnValue([]),
set_new_device: jest.fn().mockReturnValue(true),
lock_local_device: jest.fn().mockReturnValue(true),
LOCAL_DEVICE: 'mock_device'
}
}));
// Mock pour les variables d'environnement
process.env.VITE_JWT_SECRET_KEY = 'test-secret-key';
// Mock pour les APIs Web
global.fetch = jest.fn();
// Mock pour les WebSockets
global.WebSocket = jest.fn().mockImplementation(() => ({
send: jest.fn(),
close: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
readyState: 1
}));
// Mock pour localStorage
const localStorageMock = {
getItem: jest.fn(),
setItem: jest.fn(),
removeItem: jest.fn(),
clear: jest.fn(),
};
global.localStorage = localStorageMock;
// Mock pour sessionStorage
const sessionStorageMock = {
getItem: jest.fn(),
setItem: jest.fn(),
removeItem: jest.fn(),
clear: jest.fn(),
};
global.sessionStorage = sessionStorageMock;
// Configuration des timeouts
jest.setTimeout(10000);
// Nettoyage après chaque test
afterEach(() => {
jest.clearAllMocks();
localStorageMock.clear();
sessionStorageMock.clear();
});