view_test.rs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. use flowy_test::{workspace::*, FlowyTest};
  2. use flowy_workspace::entities::{
  3. app::QueryAppRequest,
  4. trash::{TrashIdentifier, TrashType},
  5. view::*,
  6. };
  7. #[tokio::test]
  8. #[should_panic]
  9. async fn view_delete() {
  10. let test = FlowyTest::setup();
  11. let _ = test.init_user();
  12. let test = ViewTest::new(&test).await;
  13. test.delete_views(vec![test.view.id.clone()]).await;
  14. let query = QueryViewRequest {
  15. view_ids: vec![test.view.id.clone()],
  16. };
  17. let _ = read_view(&test.sdk, query).await;
  18. }
  19. #[tokio::test]
  20. async fn view_delete_then_putback() {
  21. let test = FlowyTest::setup();
  22. let _ = test.init_user();
  23. let test = ViewTest::new(&test).await;
  24. test.delete_views(vec![test.view.id.clone()]).await;
  25. putback_trash(
  26. &test.sdk,
  27. TrashIdentifier {
  28. id: test.view.id.clone(),
  29. ty: TrashType::View,
  30. },
  31. )
  32. .await;
  33. let query = QueryViewRequest {
  34. view_ids: vec![test.view.id.clone()],
  35. };
  36. let view = read_view(&test.sdk, query).await;
  37. assert_eq!(&view, &test.view);
  38. }
  39. #[tokio::test]
  40. async fn view_delete_all() {
  41. let test = FlowyTest::setup();
  42. let _ = test.init_user();
  43. let test = ViewTest::new(&test).await;
  44. let view1 = test.view.clone();
  45. let view2 = create_view(&test.sdk, &test.app.id).await;
  46. let view3 = create_view(&test.sdk, &test.app.id).await;
  47. let view_ids = vec![view1.id.clone(), view2.id.clone(), view3.id.clone()];
  48. let query = QueryAppRequest::new(&test.app.id);
  49. let app = read_app(&test.sdk, query.clone()).await;
  50. assert_eq!(app.belongings.len(), view_ids.len());
  51. test.delete_views(view_ids.clone()).await;
  52. assert_eq!(read_app(&test.sdk, query).await.belongings.len(), 0);
  53. assert_eq!(read_trash(&test.sdk).await.len(), view_ids.len());
  54. }
  55. #[tokio::test]
  56. async fn view_delete_all_permanent() {
  57. let test = FlowyTest::setup();
  58. let _ = test.init_user();
  59. let test = ViewTest::new(&test).await;
  60. let view1 = test.view.clone();
  61. let view2 = create_view(&test.sdk, &test.app.id).await;
  62. let view_ids = vec![view1.id.clone(), view2.id.clone()];
  63. test.delete_views_permanent(view_ids).await;
  64. let query = QueryAppRequest::new(&test.app.id);
  65. assert_eq!(read_app(&test.sdk, query).await.belongings.len(), 0);
  66. assert_eq!(read_trash(&test.sdk).await.len(), 0);
  67. }
  68. #[tokio::test]
  69. async fn view_open_doc() {
  70. let test = FlowyTest::setup();
  71. let _ = test.init_user().await;
  72. let test = ViewTest::new(&test).await;
  73. let request = QueryViewRequest {
  74. view_ids: vec![test.view.id.clone()],
  75. };
  76. let _ = open_view(&test.sdk, request).await;
  77. }