Skip to content

Commit 7ea6f12

Browse files
authored
Merge pull request #370 from AppFlowy-IO/tokio-test-fix
fix: tokio test should be within the test module
2 parents 8d94d9a + 272ae18 commit 7ea6f12

File tree

1 file changed

+87
-87
lines changed

1 file changed

+87
-87
lines changed

collab-folder/src/hierarchy_builder.rs

Lines changed: 87 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -512,93 +512,93 @@ mod tests {
512512
assert_eq!(views.len(), 1);
513513
}
514514
}
515-
}
516515

517-
#[tokio::test]
518-
async fn delete_multiple_views_in_sequence_test() {
519-
let workspace_id = "w1".to_string();
520-
let mut builder = NestedViewBuilder::new(workspace_id, 1);
521-
522-
// Create a 3-level nested view hierarchy
523-
builder
524-
.with_view_builder(|view_builder| async {
525-
view_builder
526-
.with_name("Root")
527-
.with_child_view_builder(|child_view_builder| async {
528-
child_view_builder
529-
.with_name("Child-1")
530-
.with_child_view_builder(|grandchild_view_builder| async {
531-
grandchild_view_builder
532-
.with_name("Grandchild-1-1")
533-
.with_child_view_builder(|great_grandchild_view_builder| async {
534-
great_grandchild_view_builder
535-
.with_name("Great-Grandchild-1-1-1")
536-
.build()
537-
})
538-
.await
539-
.build()
540-
})
541-
.await
542-
.with_child_view_builder(|grandchild_view_builder| async {
543-
grandchild_view_builder.with_name("Grandchild-1-2").build()
544-
})
545-
.await
546-
.build()
547-
})
548-
.await
549-
.with_child_view_builder(|child_view_builder| async {
550-
child_view_builder.with_name("Child-2").build()
551-
})
552-
.await
553-
.build()
554-
})
555-
.await;
556-
557-
let workspace_views = builder.build();
558-
assert_eq!(workspace_views.len(), 1); // Ensure there is one root view
559-
560-
let views = FlattedViews::flatten_views(workspace_views.clone().into_inner());
561-
assert_eq!(views.len(), 6); // Ensure there are 6 total views (1 root, 2 children, 2 grandchildren, 1 great-grandchild)
562-
563-
// Test deleting multiple views in sequence
564-
{
565-
let mut cloned_workspace_views = workspace_views.clone();
566-
567-
// First, delete a third-level view (Grandchild-1-2)
568-
let view_id_grandchild_1_2 = workspace_views[0].children[0].children[1].view.id.clone(); // "Grandchild-1-2"
569-
cloned_workspace_views.remove_view(&view_id_grandchild_1_2);
570-
let views_after_delete =
571-
FlattedViews::flatten_views(cloned_workspace_views.clone().into_inner());
572-
assert_eq!(views_after_delete.len(), 5); // Should have 5 views left
573-
assert!(!views_after_delete
574-
.iter()
575-
.any(|v| v.name == "Grandchild-1-2"));
576-
577-
// Second, delete the great-grandchild (Great-Grandchild-1-1-1)
578-
let view_id_great_grandchild_1_1_1 = workspace_views[0].children[0].children[0].children[0]
579-
.view
580-
.id
581-
.clone(); // "Great-Grandchild-1-1-1"
582-
cloned_workspace_views.remove_view(&view_id_great_grandchild_1_1_1);
583-
let views_after_delete =
584-
FlattedViews::flatten_views(cloned_workspace_views.clone().into_inner());
585-
assert_eq!(views_after_delete.len(), 4); // Should have 4 views left
586-
assert!(!views_after_delete
587-
.iter()
588-
.any(|v| v.name == "Great-Grandchild-1-1-1"));
589-
590-
// Third, delete a second-level view (Child-2)
591-
let view_id_child_2 = workspace_views[0].children[1].view.id.clone(); // "Child-2"
592-
cloned_workspace_views.remove_view(&view_id_child_2);
593-
let views_after_delete =
594-
FlattedViews::flatten_views(cloned_workspace_views.clone().into_inner());
595-
assert_eq!(views_after_delete.len(), 3); // Should have 3 views left
596-
assert!(!views_after_delete.iter().any(|v| v.name == "Child-2"));
597-
598-
// Fourth, delete the root view (Root)
599-
let view_id_root = workspace_views[0].view.id.clone(); // "Root"
600-
cloned_workspace_views.remove_view(&view_id_root);
601-
let views_after_delete = FlattedViews::flatten_views(cloned_workspace_views.into_inner());
602-
assert_eq!(views_after_delete.len(), 0); // Should have no views left
516+
#[tokio::test]
517+
async fn delete_multiple_views_in_sequence_test() {
518+
let workspace_id = "w1".to_string();
519+
let mut builder = NestedViewBuilder::new(workspace_id, 1);
520+
521+
// Create a 3-level nested view hierarchy
522+
builder
523+
.with_view_builder(|view_builder| async {
524+
view_builder
525+
.with_name("Root")
526+
.with_child_view_builder(|child_view_builder| async {
527+
child_view_builder
528+
.with_name("Child-1")
529+
.with_child_view_builder(|grandchild_view_builder| async {
530+
grandchild_view_builder
531+
.with_name("Grandchild-1-1")
532+
.with_child_view_builder(|great_grandchild_view_builder| async {
533+
great_grandchild_view_builder
534+
.with_name("Great-Grandchild-1-1-1")
535+
.build()
536+
})
537+
.await
538+
.build()
539+
})
540+
.await
541+
.with_child_view_builder(|grandchild_view_builder| async {
542+
grandchild_view_builder.with_name("Grandchild-1-2").build()
543+
})
544+
.await
545+
.build()
546+
})
547+
.await
548+
.with_child_view_builder(|child_view_builder| async {
549+
child_view_builder.with_name("Child-2").build()
550+
})
551+
.await
552+
.build()
553+
})
554+
.await;
555+
556+
let workspace_views = builder.build();
557+
assert_eq!(workspace_views.len(), 1); // Ensure there is one root view
558+
559+
let views = FlattedViews::flatten_views(workspace_views.clone().into_inner());
560+
assert_eq!(views.len(), 6); // Ensure there are 6 total views (1 root, 2 children, 2 grandchildren, 1 great-grandchild)
561+
562+
// Test deleting multiple views in sequence
563+
{
564+
let mut cloned_workspace_views = workspace_views.clone();
565+
566+
// First, delete a third-level view (Grandchild-1-2)
567+
let view_id_grandchild_1_2 = workspace_views[0].children[0].children[1].view.id.clone(); // "Grandchild-1-2"
568+
cloned_workspace_views.remove_view(&view_id_grandchild_1_2);
569+
let views_after_delete =
570+
FlattedViews::flatten_views(cloned_workspace_views.clone().into_inner());
571+
assert_eq!(views_after_delete.len(), 5); // Should have 5 views left
572+
assert!(!views_after_delete
573+
.iter()
574+
.any(|v| v.name == "Grandchild-1-2"));
575+
576+
// Second, delete the great-grandchild (Great-Grandchild-1-1-1)
577+
let view_id_great_grandchild_1_1_1 = workspace_views[0].children[0].children[0].children[0]
578+
.view
579+
.id
580+
.clone(); // "Great-Grandchild-1-1-1"
581+
cloned_workspace_views.remove_view(&view_id_great_grandchild_1_1_1);
582+
let views_after_delete =
583+
FlattedViews::flatten_views(cloned_workspace_views.clone().into_inner());
584+
assert_eq!(views_after_delete.len(), 4); // Should have 4 views left
585+
assert!(!views_after_delete
586+
.iter()
587+
.any(|v| v.name == "Great-Grandchild-1-1-1"));
588+
589+
// Third, delete a second-level view (Child-2)
590+
let view_id_child_2 = workspace_views[0].children[1].view.id.clone(); // "Child-2"
591+
cloned_workspace_views.remove_view(&view_id_child_2);
592+
let views_after_delete =
593+
FlattedViews::flatten_views(cloned_workspace_views.clone().into_inner());
594+
assert_eq!(views_after_delete.len(), 3); // Should have 3 views left
595+
assert!(!views_after_delete.iter().any(|v| v.name == "Child-2"));
596+
597+
// Fourth, delete the root view (Root)
598+
let view_id_root = workspace_views[0].view.id.clone(); // "Root"
599+
cloned_workspace_views.remove_view(&view_id_root);
600+
let views_after_delete = FlattedViews::flatten_views(cloned_workspace_views.into_inner());
601+
assert_eq!(views_after_delete.len(), 0); // Should have no views left
602+
}
603603
}
604604
}

0 commit comments

Comments
 (0)