view_test.rs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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().await;
  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().await;
  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().await;
  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 {
  49. app_ids: vec![test.app.id.clone()],
  50. };
  51. let app = read_app(&test.sdk, query.clone()).await;
  52. assert_eq!(app.belongings.len(), view_ids.len());
  53. test.delete_views(view_ids.clone()).await;
  54. assert_eq!(read_app(&test.sdk, query).await.belongings.len(), 0);
  55. assert_eq!(read_trash(&test.sdk).await.len(), view_ids.len());
  56. }
  57. #[tokio::test]
  58. async fn view_delete_all_permanent() {
  59. let test = FlowyTest::setup();
  60. let _ = test.init_user().await;
  61. let test = ViewTest::new(&test).await;
  62. let view1 = test.view.clone();
  63. let view2 = create_view(&test.sdk, &test.app.id).await;
  64. let view_ids = vec![view1.id.clone(), view2.id.clone()];
  65. test.delete_views_permanent(view_ids).await;
  66. let query = QueryAppRequest {
  67. app_ids: vec![test.app.id.clone()],
  68. };
  69. assert_eq!(read_app(&test.sdk, query).await.belongings.len(), 0);
  70. assert_eq!(read_trash(&test.sdk).await.len(), 0);
  71. }
  72. #[tokio::test]
  73. async fn view_open_doc() {
  74. let test = FlowyTest::setup();
  75. let _ = test.init_user().await;
  76. let test = ViewTest::new(&test).await;
  77. let request = QueryViewRequest {
  78. view_ids: vec![test.view.id.clone()],
  79. };
  80. let _ = open_view(&test.sdk, request).await;
  81. }