workspace_test.rs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. use crate::helper::*;
  2. use flowy_workspace::{
  3. entities::workspace::{CreateWorkspaceRequest, QueryWorkspaceRequest, Workspace},
  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_create_and_then_get_workspace_success() {
  19. let workspace = create_workspace(
  20. "Workspace A",
  21. "workspace_create_and_then_get_workspace_success",
  22. );
  23. let request = QueryWorkspaceRequest {
  24. workspace_id: workspace.id.clone(),
  25. read_apps: false,
  26. };
  27. let workspace_from_db = get_workspace(request);
  28. assert_eq!(workspace.name, workspace_from_db.name);
  29. }
  30. #[test]
  31. fn workspace_create_with_apps_success() {
  32. let workspace = create_workspace("Workspace B", "");
  33. let app = create_app("App A", "", &workspace.id);
  34. let query_workspace_request = QueryWorkspaceRequest {
  35. workspace_id: workspace.id.clone(),
  36. read_apps: true,
  37. };
  38. let workspace_from_db = get_workspace(query_workspace_request);
  39. assert_eq!(&app, workspace_from_db.apps.first_or_crash());
  40. }
  41. #[test]
  42. fn workspace_create_with_invalid_name_test() {
  43. for name in invalid_workspace_name_test_case() {
  44. let request = CreateWorkspaceRequest {
  45. name,
  46. desc: "".to_owned(),
  47. };
  48. assert_eq!(
  49. SingleUserTestBuilder::new()
  50. .event(CreateWorkspace)
  51. .request(request)
  52. .sync_send()
  53. .error()
  54. .code,
  55. WsErrCode::WorkspaceNameInvalid
  56. )
  57. }
  58. }
  59. #[test]
  60. fn workspace_update_with_invalid_name_test() {
  61. for name in invalid_workspace_name_test_case() {
  62. let request = CreateWorkspaceRequest {
  63. name,
  64. desc: "".to_owned(),
  65. };
  66. assert_eq!(
  67. SingleUserTestBuilder::new()
  68. .event(CreateWorkspace)
  69. .request(request)
  70. .sync_send()
  71. .error()
  72. .code,
  73. WsErrCode::WorkspaceNameInvalid
  74. )
  75. }
  76. }
  77. // TODO 1) delete workspace, but can't delete the last workspace