app_test.rs 2.3 KB

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