helper.rs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. pub use flowy_test::builder::SingleUserTestBuilder;
  2. use flowy_workspace::{
  3. entities::{app::*, view::*, workspace::*},
  4. event::WorkspaceEvent::*,
  5. };
  6. pub(crate) fn invalid_workspace_name_test_case() -> Vec<String> {
  7. vec!["", "1234".repeat(100).as_str()]
  8. .iter()
  9. .map(|s| s.to_string())
  10. .collect::<Vec<_>>()
  11. }
  12. pub fn create_workspace(name: &str, desc: &str) -> Workspace {
  13. let request = CreateWorkspaceRequest {
  14. name: name.to_owned(),
  15. desc: desc.to_owned(),
  16. };
  17. let workspace = SingleUserTestBuilder::new()
  18. .event(CreateWorkspace)
  19. .request(request)
  20. .sync_send()
  21. .parse::<Workspace>();
  22. workspace
  23. }
  24. pub fn read_workspace(request: QueryWorkspaceRequest) -> Workspace {
  25. let workspace = SingleUserTestBuilder::new()
  26. .event(ReadWorkspace)
  27. .request(request)
  28. .sync_send()
  29. .parse::<Workspace>();
  30. workspace
  31. }
  32. pub fn create_app(name: &str, desc: &str) -> App {
  33. let workspace = create_workspace("Workspace", "");
  34. let create_app_request = CreateAppRequest {
  35. workspace_id: workspace.id,
  36. name: name.to_string(),
  37. desc: desc.to_string(),
  38. color_style: Default::default(),
  39. };
  40. let app = SingleUserTestBuilder::new()
  41. .event(CreateApp)
  42. .request(create_app_request)
  43. .sync_send()
  44. .parse::<App>();
  45. app
  46. }
  47. pub fn delete_app(app_id: &str) {
  48. let delete_app_request = DeleteAppRequest {
  49. app_id: app_id.to_string(),
  50. };
  51. SingleUserTestBuilder::new()
  52. .event(DeleteApp)
  53. .request(delete_app_request)
  54. .sync_send();
  55. }
  56. pub fn update_app(request: UpdateAppRequest) {
  57. SingleUserTestBuilder::new()
  58. .event(UpdateApp)
  59. .request(request)
  60. .sync_send();
  61. }
  62. pub fn read_app(request: QueryAppRequest) -> App {
  63. let app = SingleUserTestBuilder::new()
  64. .event(ReadApp)
  65. .request(request)
  66. .sync_send()
  67. .parse::<App>();
  68. app
  69. }
  70. pub fn create_view_with_request(request: CreateViewRequest) -> View {
  71. let view = SingleUserTestBuilder::new()
  72. .event(CreateView)
  73. .request(request)
  74. .sync_send()
  75. .parse::<View>();
  76. view
  77. }
  78. pub fn create_view() -> View {
  79. let app = create_app("App A", "AppFlowy Github Project");
  80. let request = CreateViewRequest {
  81. belong_to_id: app.id.clone(),
  82. name: "View A".to_string(),
  83. desc: "".to_string(),
  84. thumbnail: None,
  85. view_type: ViewType::Doc,
  86. };
  87. create_view_with_request(request)
  88. }
  89. pub fn update_view(request: UpdateViewRequest) {
  90. SingleUserTestBuilder::new()
  91. .event(UpdateView)
  92. .request(request)
  93. .sync_send();
  94. }
  95. pub fn read_view(request: QueryViewRequest) -> View {
  96. SingleUserTestBuilder::new()
  97. .event(ReadView)
  98. .request(request)
  99. .sync_send()
  100. .parse::<View>()
  101. }