test: cascading in-memory store
This commit is contained in:
@@ -2,7 +2,7 @@ use crate::test_support::register_command;
|
||||
use std::sync::Arc;
|
||||
|
||||
use domain::models::UserRole;
|
||||
use domain::testing::InMemoryUserRepository;
|
||||
use domain::testing::InMemoryStore;
|
||||
|
||||
use crate::{
|
||||
auth::{commands::RegisterCommand, deps::RegisterDeps, register},
|
||||
@@ -40,7 +40,7 @@ async fn register_user(
|
||||
|
||||
#[tokio::test]
|
||||
async fn authorize_admin_is_true_for_an_admin_user() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_users(Arc::clone(&users) as _);
|
||||
let user = register_user(&b, "admin@example.com", "admin_user", UserRole::Admin).await;
|
||||
|
||||
@@ -56,7 +56,7 @@ async fn authorize_admin_is_true_for_an_admin_user() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn authorize_admin_is_false_for_a_regular_user() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_users(Arc::clone(&users) as _);
|
||||
let user = register_user(
|
||||
&b,
|
||||
|
||||
@@ -3,7 +3,7 @@ use std::sync::Arc;
|
||||
|
||||
use domain::models::{ProfileField, User, UserProfile, UserRole};
|
||||
use domain::ports::UserRepository;
|
||||
use domain::testing::InMemoryUserRepository;
|
||||
use domain::testing::InMemoryStore;
|
||||
use domain::value_objects::{Email, PasswordHash, UserId, Username};
|
||||
use uuid::Uuid;
|
||||
|
||||
@@ -15,7 +15,7 @@ use crate::{
|
||||
|
||||
#[tokio::test]
|
||||
async fn returns_profile_for_existing_user() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_users(Arc::clone(&users) as _);
|
||||
let user_repo = b.user_repo.clone();
|
||||
let reg_deps = RegisterDeps {
|
||||
@@ -66,7 +66,7 @@ async fn fails_for_nonexistent_user() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn returns_profile_with_avatar_banner_and_fields() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let uid = UserId::generate();
|
||||
|
||||
let user = User::from_persistence(
|
||||
@@ -87,7 +87,7 @@ async fn returns_profile_with_avatar_banner_and_fields() {
|
||||
}],
|
||||
},
|
||||
);
|
||||
users.store.lock().unwrap().insert(uid.value(), user);
|
||||
users.seed_user(user);
|
||||
|
||||
let b = TestContextBuilder::new().with_users(Arc::clone(&users) as _);
|
||||
let user_repo = b.user_repo.clone();
|
||||
|
||||
@@ -3,7 +3,7 @@ use std::sync::Arc;
|
||||
|
||||
use domain::events::DomainEvent;
|
||||
use domain::ports::UserRepository;
|
||||
use domain::testing::{InMemoryUserRepository, NoopEventPublisher};
|
||||
use domain::testing::{InMemoryStore, NoopEventPublisher};
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::{
|
||||
@@ -12,7 +12,7 @@ use crate::{
|
||||
users::{commands::UpdateProfileCommand, deps::UpdateProfileDeps, update_profile},
|
||||
};
|
||||
|
||||
async fn register_user(b: &TestContextBuilder, users: &Arc<InMemoryUserRepository>) -> Uuid {
|
||||
async fn register_user(b: &TestContextBuilder, users: &Arc<InMemoryStore>) -> Uuid {
|
||||
let reg_deps = RegisterDeps {
|
||||
user: b.user_repo.clone(),
|
||||
password_hasher: b.password_hasher.clone(),
|
||||
@@ -32,7 +32,7 @@ async fn register_user(b: &TestContextBuilder, users: &Arc<InMemoryUserRepositor
|
||||
|
||||
#[tokio::test]
|
||||
async fn updates_display_name() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let events = NoopEventPublisher::new();
|
||||
let b = TestContextBuilder::new()
|
||||
.with_users(Arc::clone(&users) as _)
|
||||
@@ -64,7 +64,7 @@ async fn updates_display_name() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn rejects_invalid_avatar_content_type() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_users(Arc::clone(&users) as _);
|
||||
let deps = UpdateProfileDeps {
|
||||
user: b.user_repo.clone(),
|
||||
@@ -88,7 +88,7 @@ async fn rejects_invalid_avatar_content_type() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn uploads_avatar() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let events = NoopEventPublisher::new();
|
||||
let b = TestContextBuilder::new()
|
||||
.with_users(Arc::clone(&users) as _)
|
||||
@@ -126,7 +126,7 @@ async fn uploads_avatar() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn uploads_banner() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let events = NoopEventPublisher::new();
|
||||
let b = TestContextBuilder::new()
|
||||
.with_users(Arc::clone(&users) as _)
|
||||
@@ -185,7 +185,7 @@ async fn fails_for_nonexistent_user() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn rejects_invalid_banner_content_type() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_users(Arc::clone(&users) as _);
|
||||
let deps = UpdateProfileDeps {
|
||||
user: b.user_repo.clone(),
|
||||
@@ -209,7 +209,7 @@ async fn rejects_invalid_banner_content_type() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn text_only_update_emits_user_updated_no_image_stored() {
|
||||
let users = InMemoryUserRepository::new();
|
||||
let users = InMemoryStore::new();
|
||||
let events = NoopEventPublisher::new();
|
||||
let b = TestContextBuilder::new()
|
||||
.with_users(Arc::clone(&users) as _)
|
||||
|
||||
@@ -2,7 +2,7 @@ use std::sync::Arc;
|
||||
|
||||
use domain::events::DomainEvent;
|
||||
use domain::models::ProfileField;
|
||||
use domain::testing::{InMemoryProfileFieldsRepo, NoopEventPublisher};
|
||||
use domain::testing::{InMemoryStore, NoopEventPublisher};
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::{
|
||||
@@ -14,7 +14,7 @@ use crate::{
|
||||
|
||||
#[tokio::test]
|
||||
async fn saves_profile_fields() {
|
||||
let fields_repo = InMemoryProfileFieldsRepo::new();
|
||||
let fields_repo = InMemoryStore::new();
|
||||
let events = NoopEventPublisher::new();
|
||||
let b = TestContextBuilder::new()
|
||||
.with_profile_fields(Arc::clone(&fields_repo) as _)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::test_support::update_user_settings_command;
|
||||
use std::sync::Arc;
|
||||
|
||||
use domain::testing::InMemoryUserSettingsRepository;
|
||||
use domain::testing::InMemoryStore;
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::{
|
||||
@@ -15,7 +15,7 @@ use crate::{
|
||||
|
||||
#[tokio::test]
|
||||
async fn updates_federate_goals() {
|
||||
let settings_repo = InMemoryUserSettingsRepository::new();
|
||||
let settings_repo = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_user_settings(Arc::clone(&settings_repo) as _);
|
||||
let user_settings = b.user_settings_repo.clone();
|
||||
let uid = Uuid::nil();
|
||||
@@ -42,7 +42,7 @@ async fn updates_federate_goals() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn updates_federate_reviews() {
|
||||
let settings_repo = InMemoryUserSettingsRepository::new();
|
||||
let settings_repo = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_user_settings(Arc::clone(&settings_repo) as _);
|
||||
let user_settings = b.user_settings_repo.clone();
|
||||
let uid = Uuid::nil();
|
||||
@@ -69,7 +69,7 @@ async fn updates_federate_reviews() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn updates_federate_watchlist() {
|
||||
let settings_repo = InMemoryUserSettingsRepository::new();
|
||||
let settings_repo = InMemoryStore::new();
|
||||
let b = TestContextBuilder::new().with_user_settings(Arc::clone(&settings_repo) as _);
|
||||
let user_settings = b.user_settings_repo.clone();
|
||||
let uid = Uuid::nil();
|
||||
|
||||
Reference in New Issue
Block a user