workspace_test.rs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. use crate::helper::*;
  2. use flowy_workspace::{
  3. entities::workspace::{
  4. CreateWorkspaceRequest,
  5. QueryWorkspaceRequest,
  6. RepeatedWorkspace,
  7. Workspace,
  8. },
  9. event::WorkspaceEvent::*,
  10. prelude::*,
  11. };
  12. #[test]
  13. fn workspace_create_success() { let _ = create_workspace("First workspace", ""); }
  14. #[test]
  15. fn workspace_get_success() {
  16. let workspace = SingleUserTestBuilder::new()
  17. .event(ReadCurWorkspace)
  18. .sync_send()
  19. .parse::<Workspace>();
  20. dbg!(&workspace);
  21. }
  22. #[test]
  23. fn workspace_read_all_success() {
  24. let workspaces = SingleUserTestBuilder::new()
  25. .event(ReadAllWorkspace)
  26. .sync_send()
  27. .parse::<RepeatedWorkspace>();
  28. dbg!(&workspaces);
  29. }
  30. #[test]
  31. fn workspace_create_and_then_get_workspace_success() {
  32. let workspace = create_workspace(
  33. "Workspace A",
  34. "workspace_create_and_then_get_workspace_success",
  35. );
  36. let request = QueryWorkspaceRequest {
  37. workspace_id: workspace.id.clone(),
  38. read_apps: false,
  39. };
  40. let workspace_from_db = read_workspace(request);
  41. assert_eq!(workspace.name, workspace_from_db.name);
  42. }
  43. #[test]
  44. fn workspace_create_with_apps_success() {
  45. let app = create_app("App A", "");
  46. let query_workspace_request = QueryWorkspaceRequest {
  47. workspace_id: app.workspace_id.clone(),
  48. read_apps: true,
  49. };
  50. let workspace_from_db = read_workspace(query_workspace_request);
  51. assert_eq!(&app, workspace_from_db.apps.first_or_crash());
  52. }
  53. #[test]
  54. fn workspace_create_with_invalid_name_test() {
  55. for name in invalid_workspace_name_test_case() {
  56. let request = CreateWorkspaceRequest {
  57. name,
  58. desc: "".to_owned(),
  59. };
  60. assert_eq!(
  61. SingleUserTestBuilder::new()
  62. .event(CreateWorkspace)
  63. .request(request)
  64. .sync_send()
  65. .error()
  66. .code,
  67. WsErrCode::WorkspaceNameInvalid
  68. )
  69. }
  70. }
  71. #[test]
  72. fn workspace_update_with_invalid_name_test() {
  73. for name in invalid_workspace_name_test_case() {
  74. let request = CreateWorkspaceRequest {
  75. name,
  76. desc: "".to_owned(),
  77. };
  78. assert_eq!(
  79. SingleUserTestBuilder::new()
  80. .event(CreateWorkspace)
  81. .request(request)
  82. .sync_send()
  83. .error()
  84. .code,
  85. WsErrCode::WorkspaceNameInvalid
  86. )
  87. }
  88. }
  89. // TODO 1) delete workspace, but can't delete the last workspace