X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_views%2Fsrc%2Fcomment_view.rs;h=c3597dc25bcb410b11d4ac8fb6d03134549fb6fa;hb=c9f140742925d6da20103124b49f2b58a35fc2b8;hp=0efc4e11f17a0a0d86ec9b9ac9dc505582b63432;hpb=4e6409f325bca5b2727b19c24d77ffa2b59109b1;p=lemmy.git diff --git a/crates/db_views/src/comment_view.rs b/crates/db_views/src/comment_view.rs index 0efc4e11..c3597dc2 100644 --- a/crates/db_views/src/comment_view.rs +++ b/crates/db_views/src/comment_view.rs @@ -49,7 +49,7 @@ type CommentViewTuple = ( impl CommentView { pub fn read( - conn: &PgConnection, + conn: &mut PgConnection, comment_id: CommentId, my_person_id: Option, ) -> Result { @@ -154,7 +154,7 @@ impl CommentView { #[builder(field_defaults(default))] pub struct CommentQuery<'a> { #[builder(!default)] - conn: &'a PgConnection, + conn: &'a mut PgConnection, listing_type: Option, sort: Option, community_id: Option, @@ -421,7 +421,7 @@ mod tests { inserted_community: Community, } - fn init_data(conn: &PgConnection) -> Data { + fn init_data(conn: &mut PgConnection) -> Data { let new_person = PersonForm { name: "timmy".into(), public_key: Some("pubkey".to_string()), @@ -570,16 +570,16 @@ mod tests { #[test] #[serial] fn test_crud() { - let conn = establish_unpooled_connection(); - let data = init_data(&conn); + let conn = &mut establish_unpooled_connection(); + let data = init_data(conn); - let expected_comment_view_no_person = expected_comment_view(&data, &conn); + let expected_comment_view_no_person = expected_comment_view(&data, conn); let mut expected_comment_view_with_person = expected_comment_view_no_person.to_owned(); expected_comment_view_with_person.my_vote = Some(1); let read_comment_views_no_person = CommentQuery::builder() - .conn(&conn) + .conn(conn) .post_id(Some(data.inserted_post.id)) .build() .list() @@ -591,7 +591,7 @@ mod tests { ); let read_comment_views_with_person = CommentQuery::builder() - .conn(&conn) + .conn(conn) .post_id(Some(data.inserted_post.id)) .local_user(Some(&data.inserted_local_user)) .build() @@ -607,7 +607,7 @@ mod tests { assert_eq!(5, read_comment_views_with_person.len()); let read_comment_from_blocked_person = CommentView::read( - &conn, + conn, data.inserted_comment_1.id, Some(data.inserted_person.id), ) @@ -616,18 +616,18 @@ mod tests { // Make sure block set the creator blocked assert!(read_comment_from_blocked_person.creator_blocked); - cleanup(data, &conn); + cleanup(data, conn); } #[test] #[serial] fn test_comment_tree() { - let conn = establish_unpooled_connection(); - let data = init_data(&conn); + let conn = &mut establish_unpooled_connection(); + let data = init_data(conn); let top_path = data.inserted_comment_0.path.clone(); let read_comment_views_top_path = CommentQuery::builder() - .conn(&conn) + .conn(conn) .post_id(Some(data.inserted_post.id)) .parent_path(Some(top_path)) .build() @@ -636,7 +636,7 @@ mod tests { let child_path = data.inserted_comment_1.path.clone(); let read_comment_views_child_path = CommentQuery::builder() - .conn(&conn) + .conn(conn) .post_id(Some(data.inserted_post.id)) .parent_path(Some(child_path)) .build() @@ -656,7 +656,7 @@ mod tests { assert!(!child_comments.contains(&data.inserted_comment_2)); let read_comment_views_top_max_depth = CommentQuery::builder() - .conn(&conn) + .conn(conn) .post_id(Some(data.inserted_post.id)) .max_depth(Some(1)) .build() @@ -665,14 +665,14 @@ mod tests { // Make sure a depth limited one only has the top comment assert_eq!( - expected_comment_view(&data, &conn), + expected_comment_view(&data, conn), read_comment_views_top_max_depth[0] ); assert_eq!(1, read_comment_views_top_max_depth.len()); let child_path = data.inserted_comment_1.path.clone(); let read_comment_views_parent_max_depth = CommentQuery::builder() - .conn(&conn) + .conn(conn) .post_id(Some(data.inserted_post.id)) .parent_path(Some(child_path)) .max_depth(Some(1)) @@ -688,19 +688,19 @@ mod tests { .eq("Comment 3")); assert_eq!(3, read_comment_views_parent_max_depth.len()); - cleanup(data, &conn); + cleanup(data, conn); } #[test] #[serial] fn test_languages() { - let conn = establish_unpooled_connection(); - let data = init_data(&conn); + let conn = &mut establish_unpooled_connection(); + let data = init_data(conn); // by default, user has all languages enabled and should see all comments // (except from blocked user) let all_languages = CommentQuery::builder() - .conn(&conn) + .conn(conn) .local_user(Some(&data.inserted_local_user)) .build() .list() @@ -708,15 +708,15 @@ mod tests { assert_eq!(5, all_languages.len()); // change user lang to finnish, should only show single finnish comment - let finnish_id = Language::read_id_from_code(&conn, "fi").unwrap(); + let finnish_id = Language::read_id_from_code(conn, "fi").unwrap(); LocalUserLanguage::update_user_languages( - &conn, + conn, Some(vec![finnish_id]), data.inserted_local_user.id, ) .unwrap(); let finnish_comment = CommentQuery::builder() - .conn(&conn) + .conn(conn) .local_user(Some(&data.inserted_local_user)) .build() .list() @@ -729,25 +729,25 @@ mod tests { assert_eq!(finnish_id, finnish_comment[0].comment.language_id); // now show all comments with undetermined language (which is the default value) - let undetermined_id = Language::read_id_from_code(&conn, "und").unwrap(); + let undetermined_id = Language::read_id_from_code(conn, "und").unwrap(); LocalUserLanguage::update_user_languages( - &conn, + conn, Some(vec![undetermined_id]), data.inserted_local_user.id, ) .unwrap(); let undetermined_comment = CommentQuery::builder() - .conn(&conn) + .conn(conn) .local_user(Some(&data.inserted_local_user)) .build() .list() .unwrap(); assert_eq!(3, undetermined_comment.len()); - cleanup(data, &conn); + cleanup(data, conn); } - fn cleanup(data: Data, conn: &PgConnection) { + fn cleanup(data: Data, conn: &mut PgConnection) { CommentLike::remove(conn, data.inserted_person.id, data.inserted_comment_0.id).unwrap(); Comment::delete(conn, data.inserted_comment_0.id).unwrap(); Comment::delete(conn, data.inserted_comment_1.id).unwrap(); @@ -757,7 +757,7 @@ mod tests { Person::delete(conn, data.inserted_person_2.id).unwrap(); } - fn expected_comment_view(data: &Data, conn: &PgConnection) -> CommentView { + fn expected_comment_view(data: &Data, conn: &mut PgConnection) -> CommentView { let agg = CommentAggregates::read(conn, data.inserted_comment_0.id).unwrap(); CommentView { creator_banned_from_community: false,