dpp/tests/fixtures/
get_dpns_data_contract.rs1use data_contracts::{DataContractSource, SystemDataContract};
2use platform_version::version::PlatformVersion;
3
4use crate::data_contract::created_data_contract::CreatedDataContract;
5use crate::data_contract::DataContractFactory;
6use crate::prelude::*;
7use crate::tests::utils::generate_random_identifier_struct;
8
9pub fn get_dpns_data_contract_fixture(
10 owner_id: Option<Identifier>,
11 identity_nonce: IdentityNonce,
12 protocol_version: u32,
13) -> CreatedDataContract {
14 let factory = DataContractFactory::new(protocol_version)
15 .expect("expected to create a factory for get_dpns_data_contract_fixture");
16
17 let owner_id = owner_id.unwrap_or_else(generate_random_identifier_struct);
18
19 let platform_version =
20 PlatformVersion::get(protocol_version).expect("expected to get platform version");
21
22 let DataContractSource {
23 document_schemas, ..
24 } = SystemDataContract::DPNS
25 .source(platform_version)
26 .expect("should return DPNS data contract source");
27
28 factory
30 .create_with_value_config(
31 owner_id,
32 identity_nonce,
33 document_schemas.into(),
34 None,
35 None,
36 )
37 .expect("data in fixture should be correct")
38}