Files
pawctioneer-bot/Cargo.toml
Dylan Knutson 9ef36b760e feat: Add high-level integration testing framework
- Created trait abstractions for dependency injection with mockall support
- Added comprehensive integration tests focusing on:
  * Database operations and persistence
  * Complete user workflow scenarios
  * Dialogue state transitions and validation
  * Multi-user scenarios and data integrity
- Removed trivial unit tests, kept only meaningful business logic tests
- Added UserRepository, ListingRepository, and BotMessenger traits
- Integration tests verify end-to-end workflows with real database
- Total: 30 focused tests (4 unit + 8 integration + 18 validation tests)

Key integration test scenarios:
- Complete listing creation workflow with database persistence
- Listing update workflows with state validation
- Multi-user independent operations
- Error handling that preserves data integrity
- Business rule enforcement (e.g., no timing changes on live listings)

Framework ready for advanced mock-based testing when needed.
2025-08-30 04:41:07 +00:00

33 lines
728 B
TOML

[package]
name = "pawctioneer-bot"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0.219" }
teloxide = { version = "0.17.0", features = ["macros", "ctrlc_handler"] }
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
sqlx = { version = "0.8.6", features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"macros",
"rust_decimal",
] }
rust_decimal = { version = "1.33" }
chrono = { version = "0.4", features = ["serde"] }
log = "0.4"
env_logger = "0.11.8"
anyhow = "1.0"
dotenvy = "0.15"
lazy_static = "1.4"
futures = "0.3.31"
thiserror = "2.0.16"
teloxide-core = "0.13.0"
num = "0.4.3"
itertools = "0.14.0"
async-trait = "0.1"
[dev-dependencies]
rstest = "0.26.1"