app_test.rs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. use crate::helper::*;
  2. use flowy_workspace::entities::{
  3. app::{QueryAppRequest, UpdateAppRequest},
  4. view::*,
  5. };
  6. #[test]
  7. fn app_create() {
  8. let workspace = create_workspace("Workspace", "").1;
  9. let app = create_app("App A", "AppFlowy Github Project", &workspace.id);
  10. dbg!(&app);
  11. }
  12. #[test]
  13. #[should_panic]
  14. fn app_delete() {
  15. let workspace = create_workspace("Workspace", "").1;
  16. let app = create_app("App A", "AppFlowy Github Project", &workspace.id);
  17. delete_app(&app.id);
  18. let query = QueryAppRequest::new(&app.id);
  19. let _ = read_app(query);
  20. }
  21. #[test]
  22. fn app_read() {
  23. let workspace = create_workspace("Workspace", "").1;
  24. let app = create_app("App A", "AppFlowy Github Project", &workspace.id);
  25. let query = QueryAppRequest::new(&app.id);
  26. let app_from_db = read_app(query);
  27. assert_eq!(app_from_db, app);
  28. }
  29. #[test]
  30. fn app_create_with_view() {
  31. let workspace = create_workspace("Workspace", "").1;
  32. let app = create_app("App A", "AppFlowy Github Project", &workspace.id);
  33. let request_a = CreateViewRequest {
  34. belong_to_id: app.id.clone(),
  35. name: "View A".to_string(),
  36. desc: "".to_string(),
  37. thumbnail: None,
  38. view_type: ViewType::Doc,
  39. };
  40. let request_b = CreateViewRequest {
  41. belong_to_id: app.id.clone(),
  42. name: "View B".to_string(),
  43. desc: "".to_string(),
  44. thumbnail: None,
  45. view_type: ViewType::Doc,
  46. };
  47. let view_a = create_view_with_request(request_a);
  48. let view_b = create_view_with_request(request_b);
  49. let query = QueryAppRequest::new(&app.id).set_read_views(true);
  50. let view_from_db = read_app(query);
  51. assert_eq!(view_from_db.belongings[0], view_a);
  52. assert_eq!(view_from_db.belongings[1], view_b);
  53. }
  54. #[test]
  55. fn app_set_trash_flag() {
  56. let app_id = create_app_with_trash_flag();
  57. let query = QueryAppRequest::new(&app_id).set_is_trash(true);
  58. let _ = read_app(query);
  59. }
  60. #[test]
  61. #[should_panic]
  62. fn app_set_trash_flag_2() {
  63. let app_id = create_app_with_trash_flag();
  64. let query = QueryAppRequest::new(&app_id);
  65. let _ = read_app(query);
  66. }
  67. fn create_app_with_trash_flag() -> String {
  68. let workspace = create_workspace("Workspace", "").1;
  69. let app = create_app("App A", "AppFlowy Github Project", &workspace.id);
  70. let request = UpdateAppRequest {
  71. app_id: app.id.clone(),
  72. name: None,
  73. desc: None,
  74. color_style: None,
  75. is_trash: Some(true),
  76. };
  77. update_app(request);
  78. app.id
  79. }