add 400+ unit tests for domain and application layers
Some checks failed
CI / Check / Test (push) Has been cancelled
Some checks failed
CI / Check / Test (push) Has been cancelled
Extract ReviewLogger trait to decouple import/integrations from diary::log_review (cross-module coupling smell). Add in-memory fakes for all repository ports, enabling isolated testing of every use case module without a database. Coverage: domain+application 22% → 80%, 427 tests.
This commit is contained in:
@@ -7,3 +7,7 @@ use domain::{
|
||||
pub async fn execute(ctx: &AppContext, query: SearchQuery) -> Result<SearchResults, DomainError> {
|
||||
ctx.repos.search_port.search(&query).await
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[path = "tests/execute.rs"]
|
||||
mod tests;
|
||||
|
||||
16
crates/application/src/search/tests/execute.rs
Normal file
16
crates/application/src/search/tests/execute.rs
Normal file
@@ -0,0 +1,16 @@
|
||||
use domain::models::SearchQuery;
|
||||
|
||||
use crate::search::execute;
|
||||
use crate::test_helpers::TestContextBuilder;
|
||||
|
||||
#[tokio::test]
|
||||
async fn returns_empty_results() {
|
||||
let ctx = TestContextBuilder::new().build();
|
||||
|
||||
let result = execute::execute(&ctx, SearchQuery::default())
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
assert!(result.movies.items.is_empty());
|
||||
assert!(result.people.items.is_empty());
|
||||
}
|
||||
Reference in New Issue
Block a user