Skip to content

Commit

Permalink
more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
manlikeHB committed Oct 5, 2024
1 parent 54299b9 commit 102ebe6
Show file tree
Hide file tree
Showing 4 changed files with 163 additions and 7 deletions.
5 changes: 0 additions & 5 deletions onchain/cairo/.snfoundry_cache/.prev_tests_failed
Original file line number Diff line number Diff line change
@@ -1,5 +0,0 @@
afk::social::deposit::tests::deposit_claim
afk::social::deposit::tests::claim_incorrect_gas_amount
afk::social::deposit::tests::deposit_claim_gas_fee
afk::tests::launchpad_tests::launchpad_tests::launchpad_integration
afk::tests::vault_tests::vault_test::test_mint_by_token
1 change: 1 addition & 0 deletions onchain/cairo/src/launchpad/launchpad.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ pub mod LaunchpadMarketplace {
fn set_exchanges_address(
ref self: ContractState, exchanges: Span<(SupportedExchanges, ContractAddress)>
) {
self.accesscontrol.assert_only_role(ADMIN_ROLE);
let mut dex = exchanges;
// Add Exchanges configurations
loop {
Expand Down
2 changes: 1 addition & 1 deletion onchain/cairo/src/pixel/art_peace.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ pub mod ArtPeace {
daily_quests_count: u32,
devmode: bool,
) {
let caller= starknet::get_caller_address();
let caller = starknet::get_caller_address();
self.host.write(caller);

self.canvas_width.write(canvas_width);
Expand Down
162 changes: 161 additions & 1 deletion onchain/cairo/src/tests/launchpad_tests.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ mod launchpad_tests {

use starknet::{
ContractAddress, get_caller_address, storage_access::StorageBaseAddress,
get_block_timestamp, get_contract_address, ClassHash
get_block_timestamp, get_contract_address, ClassHash, class_hash::class_hash_const
};

fn DEFAULT_INITIAL_SUPPLY() -> u256 {
Expand Down Expand Up @@ -1036,4 +1036,164 @@ mod launchpad_tests {

launchpad.set_creator_fee_percent(MID_FEE_CREATOR);
}

#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_dollar_paid_coin_creation_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_dollar_paid_coin_creation(50_u256);
}

#[test]
fn test_set_dollar_paid_coin_creation_ok() {
let (sender_address, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_dollar_paid_coin_creation(50_u256);
}


#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_dollar_paid_launch_creation_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_dollar_paid_launch_creation(50_u256);
}

#[test]
fn test_set_dollar_paid_launch_creation_ok() {
let (sender_address, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_dollar_paid_launch_creation(50_u256);
}


#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_dollar_paid_finish_percentage_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_dollar_paid_finish_percentage(50_u256);
}

#[test]
fn test_set_dollar_paid_finish_percentage_ok() {
let (sender_address, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_dollar_paid_finish_percentage(50_u256);
}

#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_threshold_liquidity_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_threshold_liquidity(50_u256);
}

#[test]
fn test_set_threshold_liquidity_ok() {
let (sender_address, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_threshold_liquidity(50_u256);
}

#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_address_jediswap_factory_v2_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_address_jediswap_factory_v2('jediswap'.try_into().unwrap());
}

#[test]
fn test_set_address_jediswap_factory_v2_ok() {
let (sender_address, _, launchpad) = request_fixture();
let mut spy = spy_events(SpyOn::One(launchpad.contract_address));
let jediswap_v2_addr: ContractAddress = 'jediswap'.try_into().unwrap();

start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_address_jediswap_factory_v2(jediswap_v2_addr);

let expected_event = LaunchpadEvent::SetJediwapV2Factory(
SetJediwapV2Factory { address_jediswap_factory_v2: jediswap_v2_addr }
);
spy.assert_emitted(@array![(launchpad.contract_address, expected_event)]);
}

#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_address_jediswap_nft_router_v2_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_address_jediswap_nft_router_v2('jediswap'.try_into().unwrap());
}

#[test]
fn test_set_address_jediswap_nft_router_v2_ok() {
let (sender_address, _, launchpad) = request_fixture();
let mut spy = spy_events(SpyOn::One(launchpad.contract_address));
let jediswap_nft_v2_addr: ContractAddress = 'jediswap'.try_into().unwrap();

start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_address_jediswap_nft_router_v2(jediswap_nft_v2_addr);

let expected_event = LaunchpadEvent::SetJediwapNFTRouterV2(
SetJediwapNFTRouterV2 { address_jediswap_nft_router_v2: jediswap_nft_v2_addr }
);
spy.assert_emitted(@array![(launchpad.contract_address, expected_event)]);
}

#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_exchanges_address_non_admin() {
let (_, _, launchpad) = request_fixture();
let jediswap_addr: ContractAddress = 'jediswap'.try_into().unwrap();
start_cheat_caller_address(launchpad.contract_address, ALICE());

let exchange_addresses = array![(SupportedExchanges::Jediswap, jediswap_addr)].span();

launchpad.set_exchanges_address(exchange_addresses);
}

#[test]
fn test_set_exchanges_address_ok() {
let (sender_address, _, launchpad) = request_fixture();
let jediswap_addr: ContractAddress = 'jediswap'.try_into().unwrap();
start_cheat_caller_address(launchpad.contract_address, sender_address);

let exchange_addresses = array![(SupportedExchanges::Jediswap, jediswap_addr)].span();

launchpad.set_exchanges_address(exchange_addresses);
}

#[test]
#[should_panic(expected: ('Caller is missing role',))]
fn test_set_class_hash_non_admin() {
let (_, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, ALICE());

launchpad.set_class_hash(class_hash_const::<'hash'>());
}

#[test]
fn test_set_class_hash_ok() {
let (sender_address, _, launchpad) = request_fixture();
start_cheat_caller_address(launchpad.contract_address, sender_address);

launchpad.set_class_hash(class_hash_const::<'hash'>());
}
}

0 comments on commit 102ebe6

Please sign in to comment.