test-suite 3.15.0

Stargaze Test Suite for Launchpad
Documentation
use base_factory::msg::ParamsResponse;
use cosmwasm_std::coin;
use sg_std::NATIVE_DENOM;
use vending_factory::msg::VendingUpdateParamsExtension;

use crate::common_setup::setup_minter::base_minter::mock_params::MIN_MINT_PRICE;
use crate::common_setup::setup_minter::vending_minter::setup::sudo_update_params;
use crate::common_setup::templates::vending_minter_template_with_code_ids_template;
use sg2::query::Sg2QueryMsg::Params;

#[test]
fn happy_path_with_params_update() {
    let vt = vending_minter_template_with_code_ids_template(2);
    let (mut router, _, _) = (vt.router, vt.accts.creator, vt.accts.buyer);
    sudo_update_params(&mut router, &vt.collection_response_vec, vt.code_ids, None);
}

#[test]
fn sudo_params_update_creation_fee() {
    let vt = vending_minter_template_with_code_ids_template(2);
    let (mut router, _, _) = (vt.router, vt.accts.creator, vt.accts.buyer);
    let factory = vt.collection_response_vec[0].factory.clone().unwrap();
    let code_ids = vt.code_ids.clone();

    let update_msg = sg2::msg::UpdateMinterParamsMsg {
        code_id: Some(code_ids.sg721_code_id),
        add_sg721_code_ids: None,
        rm_sg721_code_ids: None,
        frozen: None,
        creation_fee: Some(coin(999, NATIVE_DENOM)),
        min_mint_price: Some(coin(MIN_MINT_PRICE, NATIVE_DENOM)),
        mint_fee_bps: None,
        max_trading_offset_secs: Some(100),
        extension: VendingUpdateParamsExtension {
            max_token_limit: None,
            max_per_address_limit: None,
            airdrop_mint_price: None,
            airdrop_mint_fee_bps: None,
            shuffle_fee: None,
        },
    };
    sudo_update_params(
        &mut router,
        &vt.collection_response_vec,
        vt.code_ids,
        Some(update_msg),
    );

    let res: ParamsResponse = router.wrap().query_wasm_smart(factory, &Params {}).unwrap();
    assert_eq!(res.params.creation_fee, coin(999, NATIVE_DENOM));
}