app_test.rs 2.8 KB

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