victauri_test/lib.rs
1//! Test assertion helpers for AI-agent and CI testing of Tauri apps via Victauri.
2//!
3//! This crate provides a typed HTTP client for the Victauri MCP server,
4//! plus assertion helpers for common test patterns: DOM checks, IPC verification,
5//! state comparison, accessibility audits, and performance budgets.
6//!
7//! # Quick Start
8//!
9//! ```rust,ignore
10//! use victauri_test::VictauriClient;
11//!
12//! #[tokio::test]
13//! async fn app_loads_correctly() {
14//! let client = VictauriClient::connect(7373).await.unwrap();
15//!
16//! // Check the page title
17//! let title = client.eval_js("document.title").await.unwrap();
18//! assert_eq!(title.as_str(), Some("My App"));
19//!
20//! // Verify no accessibility violations
21//! let audit = client.audit_accessibility().await.unwrap();
22//! assert_eq!(audit["summary"]["violations"], 0);
23//!
24//! // Check IPC health
25//! let integrity = client.check_ipc_integrity().await.unwrap();
26//! assert_eq!(integrity["healthy"], true);
27//! }
28//! ```
29
30mod client;
31mod error;
32
33pub use client::{
34 VictauriClient, assert_ipc_healthy, assert_json_eq, assert_json_truthy,
35 assert_no_a11y_violations, assert_performance_budget, assert_state_matches,
36};
37pub use error::TestError;