export_test.rs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. use crate::database::database_editor::DatabaseEditorTest;
  2. use flowy_database2::services::share::csv::ExportStyle;
  3. #[tokio::test]
  4. async fn export_and_then_import_test() {
  5. let test = DatabaseEditorTest::new_grid().await;
  6. let database = test.editor.clone();
  7. let csv_1 = database.export_csv(ExportStyle::SIMPLE).await.unwrap();
  8. let imported_database_id = test.import(csv_1.clone()).await;
  9. let csv_2 = test
  10. .get_database(&imported_database_id)
  11. .await
  12. .unwrap()
  13. .export_csv(ExportStyle::SIMPLE)
  14. .await
  15. .unwrap();
  16. let mut reader = csv::Reader::from_reader(csv_1.as_bytes());
  17. let export_csv_records_1 = reader.records();
  18. let mut reader = csv::Reader::from_reader(csv_2.as_bytes());
  19. let export_csv_records_2 = reader.records();
  20. let mut a = export_csv_records_1
  21. .map(|v| v.unwrap())
  22. .flat_map(|v| v.iter().map(|v| v.to_string()).collect::<Vec<_>>())
  23. .collect::<Vec<String>>();
  24. let mut b = export_csv_records_2
  25. .map(|v| v.unwrap())
  26. .flat_map(|v| v.iter().map(|v| v.to_string()).collect::<Vec<_>>())
  27. .collect::<Vec<String>>();
  28. a.sort();
  29. b.sort();
  30. assert_eq!(a, b);
  31. }