From e015343117c1ec1514005c67e553f6ae889da840 Mon Sep 17 00:00:00 2001 From: PastaClaw Date: Wed, 18 Feb 2026 12:09:49 -0600 Subject: [PATCH 1/2] fix(dpp): add missing #[test] attribute to should_set_empty_schema_defs Both v0 and v1 DataContract schema test modules had should_set_empty_schema_defs() defined inside #[cfg(test)] but missing the #[test] attribute. The test runner silently skipped them. --- .../rs-dpp/src/data_contract/v0/methods/schema.rs | 15 ++++++++++++++- .../rs-dpp/src/data_contract/v1/methods/schema.rs | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/packages/rs-dpp/src/data_contract/v0/methods/schema.rs b/packages/rs-dpp/src/data_contract/v0/methods/schema.rs index 4ca959edc63..46a81a935a8 100644 --- a/packages/rs-dpp/src/data_contract/v0/methods/schema.rs +++ b/packages/rs-dpp/src/data_contract/v0/methods/schema.rs @@ -161,6 +161,7 @@ mod test { assert_eq!(defs_map.as_ref(), data_contract.schema_defs()) } + #[test] fn should_set_empty_schema_defs() { let platform_version = PlatformVersion::latest(); @@ -175,13 +176,25 @@ mod test { let defs_map = Some(defs.into_btree_string_map().expect("should convert to map")); + let schema = platform_value!({ + "type": "object", + "properties": { + "a": { + "type": "string", + "maxLength": 10, + "position": 0 + } + }, + "additionalProperties": false, + }); + let serialization_format = DataContractInSerializationFormatV0 { id: Identifier::random(), config, version: 0, owner_id: Default::default(), schema_defs: defs_map, - document_schemas: Default::default(), + document_schemas: BTreeMap::from([("document_type_name".to_string(), schema)]), }; let mut data_contract = DataContractV0::try_from_platform_versioned( diff --git a/packages/rs-dpp/src/data_contract/v1/methods/schema.rs b/packages/rs-dpp/src/data_contract/v1/methods/schema.rs index 00d4e0cd679..b00dce454ae 100644 --- a/packages/rs-dpp/src/data_contract/v1/methods/schema.rs +++ b/packages/rs-dpp/src/data_contract/v1/methods/schema.rs @@ -161,6 +161,7 @@ mod test { assert_eq!(defs_map.as_ref(), data_contract.schema_defs()) } + #[test] fn should_set_empty_schema_defs() { let platform_version = PlatformVersion::latest(); @@ -175,13 +176,25 @@ mod test { let defs_map = Some(defs.into_btree_string_map().expect("should convert to map")); + let schema = platform_value!({ + "type": "object", + "properties": { + "a": { + "type": "string", + "maxLength": 10, + "position": 0 + } + }, + "additionalProperties": false, + }); + let serialization_format = DataContractInSerializationFormatV0 { id: Identifier::random(), config, version: 0, owner_id: Default::default(), schema_defs: defs_map, - document_schemas: Default::default(), + document_schemas: BTreeMap::from([("document_type_name".to_string(), schema)]), }; let mut data_contract = DataContractV1::try_from_platform_versioned( From 3762dc7401d48c8acd408563727373bf6a85d392 Mon Sep 17 00:00:00 2001 From: PastaClaw Date: Wed, 18 Feb 2026 12:29:08 -0600 Subject: [PATCH 2/2] test(dpp): assert document_types preserved after clearing schema_defs Address CodeRabbit nitpick: add assertions that document_types remain intact after set_schema_defs(None, ...) in both v0 and v1 tests. --- packages/rs-dpp/src/data_contract/v0/methods/schema.rs | 7 ++++++- packages/rs-dpp/src/data_contract/v1/methods/schema.rs | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/rs-dpp/src/data_contract/v0/methods/schema.rs b/packages/rs-dpp/src/data_contract/v0/methods/schema.rs index 46a81a935a8..c08137267bc 100644 --- a/packages/rs-dpp/src/data_contract/v0/methods/schema.rs +++ b/packages/rs-dpp/src/data_contract/v0/methods/schema.rs @@ -209,6 +209,11 @@ mod test { .set_schema_defs(None, true, &mut vec![], platform_version) .expect("should set defs"); - assert_eq!(None, data_contract.schema_defs()) + assert_eq!(None, data_contract.schema_defs()); + assert_eq!( + 1, + data_contract.document_types().len(), + "document types should be preserved after clearing schema defs" + ); } } diff --git a/packages/rs-dpp/src/data_contract/v1/methods/schema.rs b/packages/rs-dpp/src/data_contract/v1/methods/schema.rs index b00dce454ae..5b163d45c04 100644 --- a/packages/rs-dpp/src/data_contract/v1/methods/schema.rs +++ b/packages/rs-dpp/src/data_contract/v1/methods/schema.rs @@ -209,6 +209,11 @@ mod test { .set_schema_defs(None, true, &mut vec![], platform_version) .expect("should set defs"); - assert_eq!(None, data_contract.schema_defs()) + assert_eq!(None, data_contract.schema_defs()); + assert_eq!( + 1, + data_contract.document_types().len(), + "document types should be preserved after clearing schema defs" + ); } }