From 72d88200e436bc78f5b6ea20095dfbd15e6ceaa2 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Thu, 3 Oct 2019 18:28:58 -0700 Subject: [PATCH] Snapshot tests for JSON models --- src/snapshot_middleware/json_model.rs | 28 ++++--------------- .../snapshots/test__model_from_imfs.snap | 26 +++++++++++++++++ 2 files changed, 31 insertions(+), 23 deletions(-) create mode 100644 src/snapshot_middleware/snapshots/test__model_from_imfs.snap diff --git a/src/snapshot_middleware/json_model.rs b/src/snapshot_middleware/json_model.rs index 3cbcc81b..aab58614 100644 --- a/src/snapshot_middleware/json_model.rs +++ b/src/snapshot_middleware/json_model.rs @@ -50,7 +50,9 @@ impl SnapshotMiddleware for SnapshotJsonModel { } } - let snapshot = instance.core.into_snapshot(instance_name); + let mut snapshot = instance.core.into_snapshot(instance_name); + + snapshot.metadata.contributing_paths = vec![entry.path().to_path_buf()]; Ok(Some(snapshot)) } @@ -133,6 +135,7 @@ impl JsonModelCore { mod test { use super::*; + use insta::assert_yaml_snapshot; use maplit::hashmap; use rbx_dom_weak::RbxValue; @@ -166,27 +169,6 @@ mod test { .unwrap() .unwrap(); - assert_eq!( - instance_snapshot, - InstanceSnapshot { - snapshot_id: None, - metadata: Default::default(), // TODO - name: Cow::Borrowed("foo"), - class_name: Cow::Borrowed("IntValue"), - properties: hashmap! { - "Value".to_owned() => RbxValue::Int32 { - value: 5, - }, - }, - children: vec![InstanceSnapshot { - snapshot_id: None, - metadata: Default::default(), // TODO - name: Cow::Borrowed("The Child"), - class_name: Cow::Borrowed("StringValue"), - properties: HashMap::new(), - children: Vec::new(), - },], - } - ); + assert_yaml_snapshot!(instance_snapshot); } } diff --git a/src/snapshot_middleware/snapshots/test__model_from_imfs.snap b/src/snapshot_middleware/snapshots/test__model_from_imfs.snap new file mode 100644 index 00000000..f8a223fb --- /dev/null +++ b/src/snapshot_middleware/snapshots/test__model_from_imfs.snap @@ -0,0 +1,26 @@ +--- +source: src/snapshot_middleware/json_model.rs +expression: instance_snapshot +--- +snapshot_id: ~ +metadata: + ignore_unknown_instances: false + contributing_paths: + - /foo.model.json + project_node: ~ +name: foo +class_name: IntValue +properties: + Value: + Type: Int32 + Value: 5 +children: + - snapshot_id: ~ + metadata: + ignore_unknown_instances: false + contributing_paths: [] + project_node: ~ + name: The Child + class_name: StringValue + properties: {} + children: []