workspace_test.rs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. use crate::helper::*;
  2. use flowy_workspace::{
  3. entities::workspace::{CreateWorkspaceRequest, UserWorkspaceDetail, Workspace},
  4. event::WorkspaceEvent::*,
  5. prelude::*,
  6. };
  7. #[test]
  8. fn workspace_create_success() {
  9. let request = CreateWorkspaceRequest {
  10. name: "123".to_owned(),
  11. desc: "".to_owned(),
  12. };
  13. let response = WorkspaceTestBuilder::new()
  14. .event(CreateWorkspace)
  15. .request(request)
  16. .sync_send()
  17. .parse::<Workspace>();
  18. dbg!(&response);
  19. }
  20. #[test]
  21. fn workspace_get_detail_success() {
  22. let user_workspace = WorkspaceTestBuilder::new()
  23. .event(GetWorkspaceDetail)
  24. .sync_send()
  25. .parse::<UserWorkspaceDetail>();
  26. dbg!(&user_workspace);
  27. }
  28. #[test]
  29. fn workspace_create_and_then_get_detail_success() {
  30. let request = CreateWorkspaceRequest {
  31. name: "Team A".to_owned(),
  32. desc: "Team A Description".to_owned(),
  33. };
  34. let workspace = WorkspaceTestBuilder::new()
  35. .event(CreateWorkspace)
  36. .request(request)
  37. .sync_send()
  38. .parse::<Workspace>();
  39. let user_workspace = WorkspaceTestBuilder::new()
  40. .event(GetWorkspaceDetail)
  41. .sync_send()
  42. .parse::<UserWorkspaceDetail>();
  43. assert_eq!(workspace.name, user_workspace.workspace.name);
  44. }
  45. #[test]
  46. fn workspace_create_with_invalid_name_test() {
  47. for name in invalid_workspace_name_test_case() {
  48. let request = CreateWorkspaceRequest {
  49. name,
  50. desc: "".to_owned(),
  51. };
  52. assert_eq!(
  53. WorkspaceTestBuilder::new()
  54. .event(CreateWorkspace)
  55. .request(request)
  56. .sync_send()
  57. .error()
  58. .code,
  59. WorkspaceErrorCode::WorkspaceNameInvalid
  60. )
  61. }
  62. }
  63. #[test]
  64. fn workspace_update_with_invalid_name_test() {
  65. for name in invalid_workspace_name_test_case() {
  66. let request = CreateWorkspaceRequest {
  67. name,
  68. desc: "".to_owned(),
  69. };
  70. assert_eq!(
  71. WorkspaceTestBuilder::new()
  72. .event(CreateWorkspace)
  73. .request(request)
  74. .sync_send()
  75. .error()
  76. .code,
  77. WorkspaceErrorCode::WorkspaceNameInvalid
  78. )
  79. }
  80. }
  81. // TODO 1) delete workspace, but can't delete the last workspace