use algonaut::Algod;
use algonaut::contract;
use algonaut_core::AppId;
use algonaut_transaction::account::Account;
use std::sync::Arc;
contract!("tests/fixtures/sourced_defaults.json");
fn client() -> Defaults {
let alice = Account::generate();
let address = alice.address();
Defaults::new(AppId(123), address, Arc::new(alice))
}
#[allow(dead_code)]
async fn exercise_sourced_default_shapes(
c: &Defaults,
algod: &Algod,
) -> Result<(), algonaut::Error> {
let params = crate::contract_macro_arc56::mock_params();
let _ = c.from_global(algod).await?.build(¶ms);
let _ = c.from_local(algod).await?.build(¶ms);
let _ = c.from_box(algod).await?.build(¶ms);
let _ = c.from_method(algod).await?.build(¶ms);
Ok(())
}
#[test]
fn sourced_default_methods_are_async_take_algod_and_drop_the_arg() {
let _ = exercise_sourced_default_shapes;
}
#[test]
fn plain_argument_method_stays_sync_and_keeps_its_argument() {
let c = client();
let params = crate::contract_macro_arc56::mock_params();
let _call = c.plain(7u64).build(¶ms);
}
#[test]
fn readonly_source_method_is_callable_directly_too() {
let c = client();
let params = crate::contract_macro_arc56::mock_params();
let _sim_builder = c.current_seed().build(¶ms);
}