1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- use crate::database::field_test::util::create_text_field;
- use crate::database::snapshot_test::script::{DatabaseSnapshotTest, SnapshotScript::*};
- #[tokio::test]
- async fn snapshot_create_test() {
- let mut test = DatabaseSnapshotTest::new().await;
- let (_, field_rev) = create_text_field(&test.grid_id());
- let scripts = vec![CreateField { field_rev }, WriteSnapshot];
- test.run_scripts(scripts).await;
- let snapshot = test.current_snapshot.clone().unwrap();
- let content = test.grid_pad().await.json_str().unwrap();
- test
- .run_scripts(vec![AssertSnapshotContent {
- snapshot,
- expected: content,
- }])
- .await;
- }
- #[tokio::test]
- async fn snapshot_multi_version_test() {
- let mut test = DatabaseSnapshotTest::new().await;
- let original_content = test.grid_pad().await.json_str().unwrap();
- // Create a field
- let (_, field_rev) = create_text_field(&test.grid_id());
- let scripts = vec![
- CreateField {
- field_rev: field_rev.clone(),
- },
- WriteSnapshot,
- ];
- test.run_scripts(scripts).await;
- // Delete a field
- let scripts = vec![DeleteField { field_rev }, WriteSnapshot];
- test.run_scripts(scripts).await;
- // The latest snapshot will be the same as the original content.
- test
- .run_scripts(vec![AssertSnapshotContent {
- snapshot: test.get_latest_snapshot().await.unwrap(),
- expected: original_content,
- }])
- .await;
- }
|