43 lines
1.3 KiB
Rust
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());
|
|
}
|