v0.4.7-pre.015
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: kb-pipeline-demo-scenarios/src/solana_metaplex_token_metadata_scenarios.rs
|
||||
// version: 5
|
||||
// version: 6
|
||||
|
||||
//! Coherent Metaplex Token Metadata scenario journeys for tests and Devnet campaigns.
|
||||
|
||||
@@ -47,6 +47,8 @@ pub enum MetaplexTokenMetadataFixtureState {
|
||||
MetadataCreated,
|
||||
/// Master edition exists.
|
||||
MasterEditionCreated,
|
||||
/// Metadata is immutable after a confirmed update-authority transition.
|
||||
MetadataImmutable,
|
||||
/// Collection member exists but is not verified.
|
||||
CollectionMemberUnverified,
|
||||
/// Collection member is verified.
|
||||
@@ -226,8 +228,8 @@ pub fn metaplex_token_metadata_devnet_scenarios()
|
||||
-> std::vec::Vec<crate::MetaplexTokenMetadataScenario> {
|
||||
let definitions = [
|
||||
(
|
||||
"metaplex_nft_create_update_devnet",
|
||||
"NFT classique : création confirmée puis mise à jour",
|
||||
"metaplex_nft_lifecycle_devnet",
|
||||
"NFT classique : création, mise à jour puis immutabilité",
|
||||
crate::MetaplexTokenMetadataAssetFamily::Nft,
|
||||
crate::MetaplexTokenMetadataFixtureKind::ClassicNftMint,
|
||||
false,
|
||||
@@ -289,11 +291,23 @@ pub fn metaplex_token_metadata_devnet_scenarios()
|
||||
asset_family,
|
||||
fixture_kind,
|
||||
crate::MetaplexTokenMetadataFixtureState::MintPrepared,
|
||||
crate::MetaplexTokenMetadataFixtureState::MetadataCreated,
|
||||
vec![
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION.to_string(),
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION.to_string(),
|
||||
],
|
||||
if asset_family == crate::MetaplexTokenMetadataAssetFamily::Nft {
|
||||
crate::MetaplexTokenMetadataFixtureState::MetadataImmutable
|
||||
} else {
|
||||
crate::MetaplexTokenMetadataFixtureState::MetadataCreated
|
||||
},
|
||||
if asset_family == crate::MetaplexTokenMetadataAssetFamily::Nft {
|
||||
vec![
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION.to_string(),
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION.to_string(),
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION.to_string(),
|
||||
]
|
||||
} else {
|
||||
vec![
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION.to_string(),
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION.to_string(),
|
||||
]
|
||||
},
|
||||
requires_collection,
|
||||
requires_programmable_rules,
|
||||
materialization_targets,
|
||||
@@ -348,14 +362,20 @@ mod tests {
|
||||
.collect::<std::collections::BTreeSet<_>>();
|
||||
assert_eq!(families.len(), 5);
|
||||
for scenario in devnet {
|
||||
assert_eq!(scenario.operation_codes.len(), 2);
|
||||
let expected_len =
|
||||
if scenario.asset_family == crate::MetaplexTokenMetadataAssetFamily::Nft {
|
||||
3
|
||||
} else {
|
||||
2
|
||||
};
|
||||
assert_eq!(scenario.operation_codes.len(), expected_len);
|
||||
assert_eq!(
|
||||
scenario.operation_codes[0],
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION
|
||||
);
|
||||
assert_eq!(
|
||||
scenario.operation_codes[1],
|
||||
kb_lib::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION
|
||||
assert!(
|
||||
scenario.operation_codes[1..].iter().all(|operation| return operation
|
||||
== kb_lib::EX_METAPLEX_TOKEN_METADATA_UPDATE_OPERATION)
|
||||
);
|
||||
assert_eq!(scenario.mode, crate::MetaplexTokenMetadataScenarioMode::NetworkSimulation);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user