workspace.rs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. use crate::helper::*;
  2. use flowy_workspace::entities::{
  3. app::{DeleteAppParams, QueryAppParams, UpdateAppParams},
  4. view::{DeleteViewParams, QueryViewParams, UpdateViewParams},
  5. workspace::{
  6. CreateWorkspaceParams,
  7. DeleteWorkspaceParams,
  8. QueryWorkspaceParams,
  9. UpdateWorkspaceParams,
  10. },
  11. };
  12. #[actix_rt::test]
  13. async fn workspace_create() {
  14. let test = WorkspaceTest::new().await;
  15. log::info!("{:?}", test.workspace);
  16. }
  17. #[actix_rt::test]
  18. async fn workspace_read() {
  19. let test = WorkspaceTest::new().await;
  20. let read_params = QueryWorkspaceParams::new().workspace_id(&test.workspace.id);
  21. log::info!("{:?}", test.server.read_workspaces(read_params).await);
  22. }
  23. #[actix_rt::test]
  24. async fn workspace_read_with_belongs() {
  25. let test = WorkspaceTest::new().await;
  26. let _ = test.create_app().await;
  27. let _ = test.create_app().await;
  28. let _ = test.create_app().await;
  29. let read_params = QueryWorkspaceParams::new().workspace_id(&test.workspace.id);
  30. let workspaces = test.server.read_workspaces(read_params).await;
  31. let workspace = workspaces.items.first().unwrap();
  32. assert_eq!(workspace.apps.len(), 3);
  33. }
  34. #[actix_rt::test]
  35. async fn workspace_update() {
  36. let test = WorkspaceTest::new().await;
  37. let new_name = "rename workspace name";
  38. let new_desc = "rename workspace description";
  39. let update_params = UpdateWorkspaceParams {
  40. id: test.workspace.id.clone(),
  41. name: Some(new_name.to_string()),
  42. desc: Some(new_desc.to_string()),
  43. };
  44. test.server.update_workspace(update_params).await;
  45. let read_params = QueryWorkspaceParams::new().workspace_id(&test.workspace.id);
  46. let repeated_workspace = test.server.read_workspaces(read_params).await;
  47. let workspace = repeated_workspace.first().unwrap();
  48. assert_eq!(workspace.name, new_name);
  49. assert_eq!(workspace.desc, new_desc);
  50. }
  51. #[actix_rt::test]
  52. async fn workspace_delete() {
  53. let test = WorkspaceTest::new().await;
  54. let delete_params = DeleteWorkspaceParams {
  55. workspace_id: test.workspace.id.clone(),
  56. };
  57. let _ = test.server.delete_workspace(delete_params).await;
  58. let read_params = QueryWorkspaceParams::new().workspace_id(&test.workspace.id);
  59. let repeated_workspace = test.server.read_workspaces(read_params).await;
  60. assert_eq!(repeated_workspace.len(), 0);
  61. }
  62. #[actix_rt::test]
  63. async fn app_create() {
  64. let test = AppTest::new().await;
  65. log::info!("{:?}", test.app);
  66. }
  67. #[actix_rt::test]
  68. async fn app_read() {
  69. let test = AppTest::new().await;
  70. let read_params = QueryAppParams::new(&test.app.id);
  71. assert_eq!(test.server.read_app(read_params).await.is_some(), true);
  72. }
  73. #[actix_rt::test]
  74. async fn app_read_with_belongs() {
  75. let test = AppTest::new().await;
  76. let _ = create_test_view(&test.server, &test.app.id).await;
  77. let _ = create_test_view(&test.server, &test.app.id).await;
  78. let read_params = QueryAppParams::new(&test.app.id).read_belongings();
  79. let app = test.server.read_app(read_params).await.unwrap();
  80. assert_eq!(app.belongings.len(), 2);
  81. }
  82. #[actix_rt::test]
  83. async fn app_read_with_belongs_in_trash() {
  84. let test = AppTest::new().await;
  85. let _ = create_test_view(&test.server, &test.app.id).await;
  86. let view = create_test_view(&test.server, &test.app.id).await;
  87. let update_params = UpdateViewParams::new(&view.id).trash();
  88. test.server.update_view(update_params).await;
  89. let read_params = QueryAppParams::new(&test.app.id).read_belongings();
  90. let app = test.server.read_app(read_params).await.unwrap();
  91. assert_eq!(app.belongings.len(), 1);
  92. }
  93. #[actix_rt::test]
  94. async fn app_update() {
  95. let test = AppTest::new().await;
  96. let new_name = "flowy";
  97. let update_params = UpdateAppParams::new(&test.app.id).name(new_name);
  98. test.server.update_app(update_params).await;
  99. let read_params = QueryAppParams::new(&test.app.id);
  100. let app = test.server.read_app(read_params).await.unwrap();
  101. assert_eq!(&app.name, new_name);
  102. }
  103. #[actix_rt::test]
  104. async fn app_delete() {
  105. let test = AppTest::new().await;
  106. let delete_params = DeleteAppParams {
  107. app_id: test.app.id.clone(),
  108. };
  109. test.server.delete_app(delete_params).await;
  110. let read_params = QueryAppParams::new(&test.app.id);
  111. assert_eq!(test.server.read_app(read_params).await.is_none(), true);
  112. }
  113. #[actix_rt::test]
  114. async fn view_create() {
  115. let test = ViewTest::new().await;
  116. log::info!("{:?}", test.view);
  117. }
  118. #[actix_rt::test]
  119. async fn view_update() {
  120. let test = ViewTest::new().await;
  121. let new_name = "name view name";
  122. // update
  123. let update_params = UpdateViewParams::new(&test.view.id).trash().name(new_name);
  124. test.server.update_view(update_params).await;
  125. // read
  126. let read_params = QueryViewParams::new(&test.view.id).trash();
  127. let view = test.server.read_view(read_params).await.unwrap();
  128. assert_eq!(&view.name, new_name);
  129. }
  130. #[actix_rt::test]
  131. async fn view_delete() {
  132. let test = ViewTest::new().await;
  133. // delete
  134. let delete_params = DeleteViewParams {
  135. view_id: test.view.id.clone(),
  136. };
  137. test.server.delete_view(delete_params).await;
  138. // read
  139. let read_params = QueryViewParams::new(&test.view.id).trash();
  140. assert_eq!(test.server.read_view(read_params).await.is_none(), true);
  141. }
  142. #[actix_rt::test]
  143. async fn workspace_list_read() {
  144. let mut server = spawn_server().await;
  145. let token = server.register_user().await.token;
  146. server.user_token = Some(token);
  147. for i in 0..3 {
  148. let params = CreateWorkspaceParams {
  149. name: format!("{} workspace", i),
  150. desc: format!("This is my {} workspace", i),
  151. };
  152. let _ = server.create_workspace(params).await;
  153. }
  154. let read_params = QueryWorkspaceParams::new();
  155. let workspaces = server.read_workspaces(read_params).await;
  156. assert_eq!(workspaces.len(), 4);
  157. }