workspace.rs 5.8 KB

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