|
1 | 1 | use solana_program::hash::Hash; |
2 | 2 | use solana_program_test::{processor, BanksClient, ProgramTest}; |
3 | | -use solana_sdk::{signature::Keypair, signer::Signer, transaction::Transaction}; |
| 3 | +use solana_sdk::{ |
| 4 | + program_pack::Pack, signature::Keypair, signer::Signer, transaction::Transaction, |
| 5 | +}; |
4 | 6 | use steel::*; |
5 | 7 | use steel_api::prelude::*; |
6 | 8 |
|
@@ -48,6 +50,35 @@ async fn run_test() { |
48 | 50 | let res = banks.process_transaction(tx).await; |
49 | 51 | assert!(res.is_ok()); |
50 | 52 |
|
| 53 | + let mint_account_data = banks |
| 54 | + .get_account(token_mint_keypair.pubkey()) |
| 55 | + .await |
| 56 | + .unwrap() |
| 57 | + .unwrap() |
| 58 | + .data; |
| 59 | + let deserialized_mint_data = spl_token::state::Mint::unpack(&mint_account_data).unwrap(); |
| 60 | + assert!(deserialized_mint_data.is_initialized); |
| 61 | + assert_eq!(deserialized_mint_data.decimals, decimals); |
| 62 | + assert_eq!( |
| 63 | + deserialized_mint_data.mint_authority.unwrap(), |
| 64 | + payer.pubkey() |
| 65 | + ); |
| 66 | + |
| 67 | + let metadata_pda = Pubkey::find_program_address( |
| 68 | + &[ |
| 69 | + METADATA, |
| 70 | + mpl_token_metadata::ID.as_ref(), |
| 71 | + token_mint_keypair.pubkey().as_ref(), |
| 72 | + ], |
| 73 | + &mpl_token_metadata::ID, |
| 74 | + ) |
| 75 | + .0; |
| 76 | + let metadata_account_data = banks.get_account(metadata_pda).await.unwrap().unwrap().data; |
| 77 | + let deserialized_metadata_data = |
| 78 | + mpl_token_metadata::accounts::Metadata::from_bytes(&metadata_account_data).unwrap(); |
| 79 | + assert_eq!(deserialized_metadata_data.update_authority, payer.pubkey()); |
| 80 | + assert_eq!(deserialized_metadata_data.mint, token_mint_keypair.pubkey()); |
| 81 | + |
51 | 82 | //NFT |
52 | 83 | let nft_mint_keypair = Keypair::new(); |
53 | 84 |
|
|
0 commit comments