test: cascading in-memory store
This commit is contained in:
@@ -3,9 +3,7 @@ use std::sync::Arc;
|
||||
|
||||
use domain::{
|
||||
ports::{MovieCommand, MovieQuery, ReviewRepository},
|
||||
testing::{
|
||||
FakeDiaryQuery, InMemoryMovieRepository, InMemoryReviewRepository, NoopEventPublisher,
|
||||
},
|
||||
testing::{FakeDiaryQuery, InMemoryStore, NoopEventPublisher},
|
||||
value_objects::{MovieId, UserId},
|
||||
};
|
||||
|
||||
@@ -15,8 +13,8 @@ use crate::{
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_delete_review_removes_it() {
|
||||
let movies = InMemoryMovieRepository::new();
|
||||
let reviews = InMemoryReviewRepository::new();
|
||||
let movies = InMemoryStore::new();
|
||||
let reviews = Arc::clone(&movies);
|
||||
let diary = FakeDiaryQuery::new();
|
||||
let events = NoopEventPublisher::new();
|
||||
|
||||
@@ -45,7 +43,7 @@ async fn test_delete_review_removes_it() {
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(reviews.count(), 0, "review should be deleted");
|
||||
assert_eq!(reviews.review_count(), 0, "review should be deleted");
|
||||
assert!(
|
||||
movies.get_movie_by_id(movie.id()).await.unwrap().is_none(),
|
||||
"movie should be deleted when no reviews remain"
|
||||
@@ -54,9 +52,9 @@ async fn test_delete_review_removes_it() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_delete_review_wrong_user_is_unauthorized() {
|
||||
let reviews = InMemoryReviewRepository::new();
|
||||
let reviews = InMemoryStore::new();
|
||||
let diary = FakeDiaryQuery::new();
|
||||
let movies = InMemoryMovieRepository::new();
|
||||
let movies = Arc::clone(&reviews);
|
||||
let events = NoopEventPublisher::new();
|
||||
|
||||
let movie_id = MovieId::from_uuid(uuid::Uuid::new_v4());
|
||||
@@ -83,5 +81,5 @@ async fn test_delete_review_wrong_user_is_unauthorized() {
|
||||
.await;
|
||||
|
||||
assert!(result.is_err(), "wrong user should not be able to delete");
|
||||
assert_eq!(reviews.count(), 1, "review should still exist");
|
||||
assert_eq!(reviews.review_count(), 1, "review should still exist");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user