Skip to main content

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;