workspace.rs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. use crate::helper::{spawn_app, TestApp};
  2. use flowy_workspace::entities::{
  3. app::{App, ColorStyle, CreateAppParams, DeleteAppParams, QueryAppParams, UpdateAppParams},
  4. workspace::{
  5. CreateWorkspaceParams,
  6. DeleteWorkspaceParams,
  7. QueryWorkspaceParams,
  8. UpdateWorkspaceParams,
  9. Workspace,
  10. },
  11. };
  12. #[actix_rt::test]
  13. async fn workspace_create() {
  14. let app = spawn_app().await;
  15. let (workspace, _) = create_test_workspace(&app).await;
  16. log::info!("{:?}", workspace);
  17. }
  18. #[actix_rt::test]
  19. async fn workspace_read() {
  20. let app = spawn_app().await;
  21. let (workspace_1, _) = create_test_workspace(&app).await;
  22. let read_params = QueryWorkspaceParams {
  23. workspace_id: workspace_1.id.clone(),
  24. read_apps: false,
  25. };
  26. log::info!("{:?}", app.read_workspace(read_params).await.unwrap());
  27. }
  28. #[actix_rt::test]
  29. async fn workspace_update() {
  30. let app = spawn_app().await;
  31. let (workspace_1, _) = create_test_workspace(&app).await;
  32. let update_params = UpdateWorkspaceParams {
  33. id: workspace_1.id.clone(),
  34. name: Some("workspace 2".to_string()),
  35. desc: Some("rename workspace description".to_string()),
  36. };
  37. app.update_workspace(update_params).await;
  38. let read_params = QueryWorkspaceParams {
  39. workspace_id: workspace_1.id.clone(),
  40. read_apps: false,
  41. };
  42. let workspace_2 = app.read_workspace(read_params).await.unwrap();
  43. log::info!("{:?}", workspace_2);
  44. }
  45. #[actix_rt::test]
  46. async fn workspace_delete() {
  47. let app = spawn_app().await;
  48. let (workspace, _) = create_test_workspace(&app).await;
  49. let delete_params = DeleteWorkspaceParams {
  50. workspace_id: workspace.id.clone(),
  51. };
  52. let _ = app.delete_workspace(delete_params).await;
  53. let read_params = QueryWorkspaceParams {
  54. workspace_id: workspace.id.clone(),
  55. read_apps: false,
  56. };
  57. assert_eq!(app.read_workspace(read_params).await.is_none(), true);
  58. }
  59. async fn create_test_workspace(app: &TestApp) -> (Workspace, String) {
  60. let response = app.register_test_user().await;
  61. let params = CreateWorkspaceParams {
  62. name: "My first workspace".to_string(),
  63. desc: "This is my first workspace".to_string(),
  64. user_id: response.uid.clone(),
  65. };
  66. let workspace = app.create_workspace(params).await;
  67. (workspace, response.uid)
  68. }
  69. #[actix_rt::test]
  70. async fn app_create() {
  71. let application = spawn_app().await;
  72. let app = create_test_app(&application).await;
  73. log::info!("{:?}", app);
  74. }
  75. #[actix_rt::test]
  76. async fn app_read() {
  77. let application = spawn_app().await;
  78. let app = create_test_app(&application).await;
  79. let read_params = QueryAppParams {
  80. app_id: app.id,
  81. read_belongings: false,
  82. is_trash: false,
  83. };
  84. log::info!("{:?}", application.read_app(read_params).await.unwrap());
  85. }
  86. #[actix_rt::test]
  87. async fn app_update() {
  88. let application = spawn_app().await;
  89. let app = create_test_app(&application).await;
  90. let update_params = UpdateAppParams {
  91. app_id: app.id.clone(),
  92. workspace_id: None,
  93. name: Some("flowy".to_owned()),
  94. desc: None,
  95. color_style: None,
  96. is_trash: None,
  97. };
  98. application.update_app(update_params).await;
  99. let read_params = QueryAppParams {
  100. app_id: app.id,
  101. read_belongings: false,
  102. is_trash: false,
  103. };
  104. let app = application.read_app(read_params).await.unwrap();
  105. log::info!("{:?}", app);
  106. }
  107. #[actix_rt::test]
  108. async fn app_delete() {
  109. let application = spawn_app().await;
  110. let app = create_test_app(&application).await;
  111. let delete_params = DeleteAppParams {
  112. app_id: app.id.clone(),
  113. };
  114. application.delete_app(delete_params).await;
  115. let read_params = QueryAppParams {
  116. app_id: app.id,
  117. read_belongings: false,
  118. is_trash: false,
  119. };
  120. assert_eq!(application.read_app(read_params).await.is_none(), true);
  121. }
  122. async fn create_test_app(app: &TestApp) -> App {
  123. let (workspace, user_id) = create_test_workspace(&app).await;
  124. let params = CreateAppParams {
  125. workspace_id: workspace.id,
  126. name: "My first app".to_string(),
  127. desc: "This is my first app".to_string(),
  128. color_style: ColorStyle::default(),
  129. user_id,
  130. };
  131. let app = app.create_app(params).await;
  132. app
  133. }