serde_test.rs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. use flowy_grid_data_model::entities::*;
  2. #[test]
  3. fn grid_serde_test() {
  4. let grid_id = "1".to_owned();
  5. let field_orders = RepeatedFieldOrder {
  6. items: vec![create_field_order("1")],
  7. };
  8. let row_orders = RepeatedRowOrder {
  9. items: vec![create_row_order(&grid_id, "1")],
  10. };
  11. let grid = Grid {
  12. id: grid_id,
  13. field_orders,
  14. row_orders,
  15. };
  16. let json = serde_json::to_string(&grid).unwrap();
  17. let grid2: Grid = serde_json::from_str(&json).unwrap();
  18. assert_eq!(grid, grid2);
  19. assert_eq!(
  20. json,
  21. r#"{"id":"1","field_orders":[{"field_id":"1","visibility":false}],"row_orders":[{"grid_id":"1","row_id":"1","visibility":false}]}"#
  22. )
  23. }
  24. #[test]
  25. fn grid_default_serde_test() {
  26. let grid_id = "1".to_owned();
  27. let grid = Grid {
  28. id: grid_id,
  29. field_orders: RepeatedFieldOrder::default(),
  30. row_orders: RepeatedRowOrder::default(),
  31. };
  32. let json = serde_json::to_string(&grid).unwrap();
  33. assert_eq!(json, r#"{"id":"1","field_orders":[],"row_orders":[]}"#)
  34. }
  35. fn create_field_order(field_id: &str) -> FieldOrder {
  36. FieldOrder {
  37. field_id: field_id.to_owned(),
  38. visibility: false,
  39. }
  40. }
  41. fn create_row_order(grid_id: &str, row_id: &str) -> RowOrder {
  42. RowOrder {
  43. grid_id: grid_id.to_string(),
  44. row_id: row_id.to_string(),
  45. visibility: false,
  46. }
  47. }
  48. fn uuid() -> String {
  49. uuid::Uuid::new_v4().to_string()
  50. }