refactor/tighten-architecture #26

Merged
GKaszewski merged 104 commits from refactor/tighten-architecture into master 2026-10-26 09:36:27 +00:00
3 changed files with 53 additions and 1 deletions
Showing only changes of commit fdf4df38af - Show all commits

View File

@@ -16,6 +16,8 @@ mod get_page_viewer_test;
mod get_profile_settings_test;
#[path = "users/get_settings_test.rs"]
mod get_settings_test;
#[path = "users/get_users_test.rs"]
mod get_users_test;
#[path = "users/resolve_username_to_id_test.rs"]
mod resolve_username_to_id_test;
#[path = "users/update_profile_fields_test.rs"]

View File

@@ -0,0 +1,36 @@
use crate::support::TestContextBuilder;
use domain::testing::test_user;
use application::users::deps::GetUsersListDeps;
use application::users::get_users;
use application::users::queries::GetUsersQuery;
fn deps(b: &TestContextBuilder) -> GetUsersListDeps {
GetUsersListDeps {
user: b.user_repo.clone(),
federation_admin: b.federation_admin.clone(),
}
}
#[tokio::test]
async fn returns_empty_lists_when_nothing_exists() {
let b = TestContextBuilder::new();
let result = get_users::execute(&deps(&b), GetUsersQuery).await.unwrap();
assert!(result.users.is_empty());
assert!(result.remote_actors.is_empty());
}
#[tokio::test]
async fn lists_saved_user() {
let b = TestContextBuilder::new();
let user = test_user("alice");
b.user_repo.save(&user).await.unwrap();
let result = get_users::execute(&deps(&b), GetUsersQuery).await.unwrap();
assert_eq!(result.users.len(), 1);
assert_eq!(result.users[0].username(), "alice");
assert!(result.remote_actors.is_empty());
}

View File

@@ -59,7 +59,21 @@ impl UserRepository for InMemoryStore {
}
async fn list_with_stats(&self) -> Result<Vec<UserSummary>, DomainError> {
Ok(vec![])
let store = self.users.read().unwrap();
Ok(store
.values()
.map(|u| {
UserSummary::new(
u.id().clone(),
u.email().clone(),
u.username().clone(),
u.display_name().map(str::to_string),
0,
None,
u.avatar_path().map(str::to_string),
)
})
.collect())
}
async fn update_profile(