AppFlowy/frontend/rust-lib/flowy-document2/tests/document/event_handler_test.rs
Lucas.Xu 561d0f0808
feat: public the json to document data pb api (#2694)
* feat: public the json to document data pb api

* test: add test for convert_data_to_document_internal

* chore: apply review suggestion

* chore: update folder path
2023-06-03 20:43:46 +08:00

32 lines
979 B
Rust

use flowy_document2::{
entities::{ConvertDataPayloadPB, ConvertType},
event_handler::convert_data_to_document_internal,
};
#[test]
fn convert_json_to_document() {
let json_str = r#"
{
"type": "page",
"children": [
{
"type": "paragraph1"
}
]
}"#;
let payload = ConvertDataPayloadPB {
convert_type: ConvertType::Json,
data: json_str.as_bytes().to_vec(),
};
let document_data = convert_data_to_document_internal(payload).unwrap();
let page_id = document_data.page_id;
let blocks = document_data.blocks;
let children_map = document_data.meta.children_map;
let page_block = blocks.get(&page_id).unwrap();
let page_children = children_map.get(&page_block.children_id).unwrap();
assert_eq!(page_children.children.len(), 1);
let paragraph1 = blocks.get(page_children.children.get(0).unwrap()).unwrap();
assert_eq!(paragraph1.ty, "paragraph1");
assert_eq!(paragraph1.parent_id, page_block.id);
}