| 
									
										
										
										
											2023-12-31 07:29:40 +08:00
										 |  |  | use flowy_document::{
 | 
					
						
							| 
									
										
										
										
											2023-06-03 20:43:46 +08:00
										 |  |  |   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);
 | 
					
						
							| 
									
										
										
										
											2023-12-30 01:22:06 +08:00
										 |  |  |   let paragraph1 = blocks.get(page_children.children.first().unwrap()).unwrap();
 | 
					
						
							| 
									
										
										
										
											2023-06-03 20:43:46 +08:00
										 |  |  |   assert_eq!(paragraph1.ty, "paragraph1");
 | 
					
						
							|  |  |  |   assert_eq!(paragraph1.parent_id, page_block.id);
 | 
					
						
							|  |  |  | }
 |