workspace_test.rs 2.5 KB

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