]> Untitled Git - lemmy.git/blobdiff - lemmy_db/src/aggregates/site_aggregates.rs
Merge remote-tracking branch 'origin/split-db-workspace' into move_views_to_diesel_split
[lemmy.git] / lemmy_db / src / aggregates / site_aggregates.rs
index 52890d8144fa3a6bb8afe542914553b31a9e9fe7..70997a66a77dd7427216a49901afe49ad6e40e95 100644 (file)
@@ -2,10 +2,11 @@ use diesel::{result::Error, *};
 use lemmy_db_schema::schema::site_aggregates;
 use serde::Serialize;
 
-#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize)]
+#[derive(Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Clone)]
 #[table_name = "site_aggregates"]
 pub struct SiteAggregates {
   pub id: i32,
+  pub site_id: i32,
   pub users: i64,
   pub posts: i64,
   pub comments: i64,
@@ -67,6 +68,20 @@ mod tests {
 
     let inserted_user = User_::create(&conn, &new_user).unwrap();
 
+    let site_form = SiteForm {
+      name: "test_site".into(),
+      description: None,
+      icon: None,
+      banner: None,
+      creator_id: inserted_user.id,
+      enable_downvotes: true,
+      open_registration: true,
+      enable_nsfw: true,
+      updated: None,
+    };
+
+    Site::create(&conn, &site_form).unwrap();
+
     let new_community = CommunityForm {
       name: "TIL_site_agg".into(),
       creator_id: inserted_user.id,
@@ -164,10 +179,7 @@ mod tests {
     let user_num_deleted = User_::delete(&conn, inserted_user.id).unwrap();
     assert_eq!(1, user_num_deleted);
 
-    let site_aggregates_after_delete = SiteAggregates::read(&conn).unwrap();
-    assert_eq!(0, site_aggregates_after_delete.users);
-    assert_eq!(0, site_aggregates_after_delete.communities);
-    assert_eq!(0, site_aggregates_after_delete.posts);
-    assert_eq!(0, site_aggregates_after_delete.comments);
+    let after_delete = SiteAggregates::read(&conn);
+    assert!(after_delete.is_err());
   }
 }