workspace_test.rs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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(ReadCurWorkspace)
  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 = read_workspace(request);
  36. assert_eq!(workspace.name, workspace_from_db.name);
  37. }
  38. #[test]
  39. fn workspace_create_with_apps_success() {
  40. let app = create_app("App A", "");
  41. let query_workspace_request = QueryWorkspaceRequest {
  42. workspace_id: app.workspace_id.clone(),
  43. read_apps: true,
  44. };
  45. let workspace_from_db = read_workspace(query_workspace_request);
  46. assert_eq!(&app, workspace_from_db.apps.first_or_crash());
  47. }
  48. #[test]
  49. fn workspace_create_with_invalid_name_test() {
  50. for name in invalid_workspace_name_test_case() {
  51. let request = CreateWorkspaceRequest {
  52. name,
  53. desc: "".to_owned(),
  54. };
  55. assert_eq!(
  56. SingleUserTestBuilder::new()
  57. .event(CreateWorkspace)
  58. .request(request)
  59. .sync_send()
  60. .error()
  61. .code,
  62. WsErrCode::WorkspaceNameInvalid
  63. )
  64. }
  65. }
  66. #[test]
  67. fn workspace_update_with_invalid_name_test() {
  68. for name in invalid_workspace_name_test_case() {
  69. let request = CreateWorkspaceRequest {
  70. name,
  71. desc: "".to_owned(),
  72. };
  73. assert_eq!(
  74. SingleUserTestBuilder::new()
  75. .event(CreateWorkspace)
  76. .request(request)
  77. .sync_send()
  78. .error()
  79. .code,
  80. WsErrCode::WorkspaceNameInvalid
  81. )
  82. }
  83. }
  84. // TODO 1) delete workspace, but can't delete the last workspace