serde_test.rs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. use flowy_grid_data_model::entities::*;
  2. #[test]
  3. fn grid_serde_test() {
  4. let grid_id = "1".to_owned();
  5. let fields = vec![create_field("1")];
  6. let grid = GridMeta {
  7. grid_id,
  8. fields,
  9. block_metas: vec![],
  10. };
  11. let grid_1_json = serde_json::to_string(&grid).unwrap();
  12. let _: GridMeta = serde_json::from_str(&grid_1_json).unwrap();
  13. assert_eq!(
  14. grid_1_json,
  15. r#"{"id":"1","fields":[{"id":"1","name":"Text Field","desc":"","field_type":"RichText","frozen":false,"visibility":true,"width":150,"type_options":{"type_id":"","value":[]}}],"blocks":[]}"#
  16. )
  17. }
  18. #[test]
  19. fn grid_default_serde_test() {
  20. let grid_id = "1".to_owned();
  21. let grid = GridMeta {
  22. grid_id,
  23. fields: vec![],
  24. block_metas: vec![],
  25. };
  26. let json = serde_json::to_string(&grid).unwrap();
  27. assert_eq!(json, r#"{"id":"1","fields":[],"blocks":[]}"#)
  28. }
  29. fn create_field(field_id: &str) -> FieldMeta {
  30. let mut field = FieldMeta::new("Text Field", "", FieldType::RichText);
  31. field.id = field_id.to_string();
  32. field
  33. }
  34. #[allow(dead_code)]
  35. fn uuid() -> String {
  36. uuid::Uuid::new_v4().to_string()
  37. }