test: shared factories and command builders

This commit is contained in:
2026-10-25 22:08:17 +01:00
parent 2ac1d4e0cf
commit 51d92e08a7
58 changed files with 784 additions and 1344 deletions

View File

@@ -8,4 +8,5 @@ rss-feed = { package = "rss", version = "2", features = ["atom"] }
domain = { workspace = true }
[dev-dependencies]
domain = { workspace = true, features = ["test-helpers"] }
chrono = { workspace = true }

View File

@@ -1,6 +1,7 @@
use super::*;
use domain::models::{Movie, Review};
use domain::value_objects::{Comment, MovieTitle, Rating, ReleaseYear, UserId};
use domain::models::ReviewEdit;
use domain::testing::{test_movie_with_year, test_review};
use domain::value_objects::{Comment, UserId};
fn channel<'a>(title: &'a str) -> FeedChannel<'a> {
FeedChannel {
@@ -11,23 +12,12 @@ fn channel<'a>(title: &'a str) -> FeedChannel<'a> {
}
fn entry(spoilers: bool) -> DiaryEntry {
let movie = Movie::new(
None,
MovieTitle::new("Blade Runner".into()).unwrap(),
ReleaseYear::new(1982).unwrap(),
None,
None,
);
let review = Review::new(
movie.id().clone(),
UserId::generate(),
Rating::new(4).unwrap(),
Some(Comment::new("replicants".into()).unwrap()),
chrono::Utc::now().naive_utc(),
None,
spoilers,
)
.unwrap();
let movie = test_movie_with_year("Blade Runner", 1982);
let review = test_review(movie.id(), &UserId::generate(), 4).apply_edit(ReviewEdit {
comment: Some(Some(Comment::new("replicants".into()).unwrap())),
spoilers: Some(spoilers),
..Default::default()
});
DiaryEntry::new(movie, review)
}