sdk_client/tests/scanner.rs
2025-11-27 16:59:07 +01:00

43 lines
1.3 KiB
Rust

use wasm_bindgen_test::*;
use sdk_client::scan::WasmScanner;
wasm_bindgen_test_configure!(run_in_browser);
#[wasm_bindgen_test]
async fn test_scanner_creation() {
let scanner = WasmScanner::new();
assert!(!scanner.is_scanning());
}
#[wasm_bindgen_test]
async fn test_scanner_basic_scan() {
let scanner = WasmScanner::new();
// Create an empty processes array
let processes = serde_wasm_bindgen::to_value(&Vec::<sdk_common::process::Process>::new()).unwrap();
let result = scanner.scan_blocks(10, processes).await;
assert!(result.is_ok());
let scan_result = result.unwrap();
let scanned_blocks = js_sys::Reflect::get(&scan_result, &"scannedBlocks".into()).unwrap();
let scanned_blocks: u32 = scanned_blocks.as_f64().unwrap() as u32;
assert_eq!(scanned_blocks, 10);
}
#[wasm_bindgen_test]
async fn test_scanner_stop_functionality() {
let scanner = WasmScanner::new();
// Start scanning
let processes = serde_wasm_bindgen::to_value(&Vec::<sdk_common::process::Process>::new()).unwrap();
let scan_future = scanner.scan_blocks(100, processes);
// Stop scanning immediately
scanner.stop_scanning();
// The scan should complete quickly since we stopped it
let result = scan_future.await;
assert!(result.is_ok());
}