vestige/tests/e2e/src/lib.rs

50 lines
1.5 KiB
Rust
Raw Normal View History

//! E2E Test Infrastructure for Vestige
//!
//! Provides comprehensive testing utilities for 250+ end-to-end tests:
//!
//! - **Harness**: Test setup, time travel, database management
//! - **Mocks**: MockEmbeddingService (FxHash-based), test fixtures
//! - **Assertions**: Custom assertions for memory states, decay, etc.
//!
//! ## Quick Start
//!
//! ```rust,ignore
//! use vestige_e2e_tests::prelude::*;
//!
//! #[test]
//! fn test_memory_decay() {
//! let mut env = TimeTravelEnvironment::new();
//! let mut db = TestDatabaseManager::new_temp();
//!
//! // Create test data
//! let node = TestDataFactory::create_memory(&mut db.storage, "test content");
//!
//! // Time travel to test decay
//! env.advance_days(30);
//!
//! // Assert decay occurred
//! assert_retention_decreased!(db.storage.get_node(&node.id), 0.9);
//! }
//! ```
pub mod assertions;
pub mod harness;
pub mod mocks;
// Re-export commonly used items
pub use harness::{TestDatabaseManager, TimeTravelEnvironment};
pub use mocks::{MockEmbeddingService, TestDataFactory};
/// Convenient imports for tests
pub mod prelude {
pub use crate::assertions::*;
pub use crate::harness::{TestDatabaseManager, TimeTravelEnvironment};
pub use crate::mocks::{MockEmbeddingService, TestDataFactory};
// Re-export vestige-core essentials
pub use vestige_core::{
FSRSScheduler, FSRSState, IngestInput, KnowledgeNode, NodeType, Rating, RecallInput,
Result, SearchMode, Storage, StorageError,
};
}