setting_test.rs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. use crate::grid::script::EditorScript::*;
  2. use crate::grid::script::*;
  3. use flowy_grid_data_model::entities::{
  4. CreateGridFilterParams, CreateGridFilterPayload, GridLayoutType, GridSettingChangesetParams, TextFilterCondition,
  5. };
  6. #[tokio::test]
  7. async fn grid_setting_create_text_filter_test() {
  8. let test = GridEditorTest::new().await;
  9. let field_rev = test.text_field();
  10. let condition = TextFilterCondition::TextIsEmpty as i32;
  11. let scripts = vec![
  12. InsertGridTableFilter {
  13. payload: CreateGridFilterPayload {
  14. field_id: field_rev.id.clone(),
  15. field_type: field_rev.field_type.clone(),
  16. condition,
  17. content: Some("abc".to_owned()),
  18. },
  19. },
  20. AssertTableFilterCount { count: 1 },
  21. ];
  22. GridEditorTest::new().await.run_scripts(scripts).await;
  23. }
  24. #[tokio::test]
  25. #[should_panic]
  26. async fn grid_setting_create_text_filter_panic_test() {
  27. let test = GridEditorTest::new().await;
  28. let field_rev = test.text_field();
  29. let scripts = vec![InsertGridTableFilter {
  30. payload: CreateGridFilterPayload {
  31. field_id: field_rev.id.clone(),
  32. field_type: field_rev.field_type.clone(),
  33. condition: 20, // Invalid condition type
  34. content: Some("abc".to_owned()),
  35. },
  36. }];
  37. GridEditorTest::new().await.run_scripts(scripts).await;
  38. }
  39. #[tokio::test]
  40. async fn grid_setting_delete_text_filter_test() {
  41. let mut test = GridEditorTest::new().await;
  42. let field_rev = test.text_field();
  43. let condition = TextFilterCondition::TextIsEmpty as i32;
  44. let scripts = vec![
  45. InsertGridTableFilter {
  46. payload: CreateGridFilterPayload {
  47. field_id: field_rev.id.clone(),
  48. field_type: field_rev.field_type.clone(),
  49. condition,
  50. content: Some("abc".to_owned()),
  51. },
  52. },
  53. AssertTableFilterCount { count: 1 },
  54. ];
  55. test.run_scripts(scripts).await;
  56. let filter = test.grid_filters().await.pop().unwrap();
  57. test.run_scripts(vec![
  58. DeleteGridTableFilter { filter_id: filter.id },
  59. AssertTableFilterCount { count: 0 },
  60. ])
  61. .await;
  62. }
  63. #[tokio::test]
  64. async fn grid_setting_sort_test() {}