From 69e91dc3d09edb5afbac230b9fc32bfe09bbdadc Mon Sep 17 00:00:00 2001 From: JoE11-y Date: Tue, 1 Oct 2024 12:35:02 +0100 Subject: [PATCH] update tests --- .../starknet/src/tests/bridge_t.cairo | 184 +++++++----------- 1 file changed, 74 insertions(+), 110 deletions(-) diff --git a/apps/blockchain/starknet/src/tests/bridge_t.cairo b/apps/blockchain/starknet/src/tests/bridge_t.cairo index fa4bfa88..443c7064 100644 --- a/apps/blockchain/starknet/src/tests/bridge_t.cairo +++ b/apps/blockchain/starknet/src/tests/bridge_t.cairo @@ -694,74 +694,85 @@ mod tests { let collection1 = starknet::contract_address_const::<'collection1'>(); let collection2 = starknet::contract_address_const::<'collection2'>(); let collection3 = starknet::contract_address_const::<'collection3'>(); - + let collection4 = starknet::contract_address_const::<'collection4'>(); + let collection5 = starknet::contract_address_const::<'collection5'>(); + + let mut spy = spy_events(SpyOn::One(bridge_address)); start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); bridge.white_list_collection(collection1, true); bridge.white_list_collection(collection2, true); bridge.white_list_collection(collection3, true); + bridge.white_list_collection(collection4, true); + bridge.white_list_collection(collection5, true); stop_prank(CheatTarget::One(bridge_address)); let white_listed = bridge.get_white_listed_collections(); - assert_eq!(white_listed.len(), 3, "White list shall contain 3 elements"); + assert_eq!(white_listed.len(), 5, "White list shall contain 5 elements"); assert_eq!(*white_listed.at(0), collection1, "Wrong collection address in white list"); assert_eq!(*white_listed.at(1), collection2, "Wrong collection address in white list"); assert_eq!(*white_listed.at(2), collection3, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(3), collection4, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(4), collection5, "Wrong collection address in white list"); assert!(bridge.is_white_listed(collection1), "Collection1 should be whitelisted"); assert!(bridge.is_white_listed(collection2), "Collection1 should be whitelisted"); assert!(bridge.is_white_listed(collection3), "Collection1 should be whitelisted"); + assert!(bridge.is_white_listed(collection4), "Collection1 should be whitelisted"); + assert!(bridge.is_white_listed(collection5), "Collection1 should be whitelisted"); start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); - bridge.white_list_collection(collection2, false); + bridge.white_list_collection(collection3, false); stop_prank(CheatTarget::One(bridge_address)); let white_listed = bridge.get_white_listed_collections(); - assert_eq!(white_listed.len(), 2, "White list shall contain 2 elements"); + assert_eq!(white_listed.len(), 4, "White list shall contain 4 elements"); assert_eq!(*white_listed.at(0), collection1, "Wrong collection address in white list"); - assert_eq!(*white_listed.at(1), collection3, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(1), collection2, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(2), collection4, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(3), collection5, "Wrong collection address in white list"); assert!(bridge.is_white_listed(collection1), "Collection1 should be whitelisted"); - assert!(!bridge.is_white_listed(collection2), "Collection1 should not be whitelisted"); - assert!(bridge.is_white_listed(collection3), "Collection1 should be whitelisted"); + assert!(bridge.is_white_listed(collection2), "Collection1 should be whitelisted"); + assert!(!bridge.is_white_listed(collection3), "Collection1 should not be whitelisted"); + assert!(bridge.is_white_listed(collection4), "Collection1 should be whitelisted"); + assert!(bridge.is_white_listed(collection5), "Collection1 should be whitelisted"); start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); bridge.white_list_collection(collection1, false); - bridge.white_list_collection(collection3, false); + bridge.white_list_collection(collection4, false); stop_prank(CheatTarget::One(bridge_address)); - let white_listed = bridge.get_white_listed_collections(); - assert!(white_listed.is_empty(), "White list shall be empty"); + assert_eq!(white_listed.len(), 2, "White list shall contain 2 elements"); + assert_eq!(*white_listed.at(0), collection2, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(1), collection5, "Wrong collection address in white list"); assert!(!bridge.is_white_listed(collection1), "Collection1 should not be whitelisted"); - assert!(!bridge.is_white_listed(collection2), "Collection1 should not be whitelisted"); - assert!(!bridge.is_white_listed(collection3), "Collection1 should not be whitelisted"); + assert!(!bridge.is_white_listed(collection4), "Collection1 should not be whitelisted"); start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); - bridge.white_list_collection(collection1, true); bridge.white_list_collection(collection3, true); + bridge.white_list_collection(collection2, false); stop_prank(CheatTarget::One(bridge_address)); let white_listed = bridge.get_white_listed_collections(); assert_eq!(white_listed.len(), 2, "White list shall contain 2 elements"); - assert_eq!(*white_listed.at(0), collection1, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(0), collection5, "Wrong collection address in white list"); assert_eq!(*white_listed.at(1), collection3, "Wrong collection address in white list"); - assert!(bridge.is_white_listed(collection1), "Collection1 should be whitelisted"); + assert!(bridge.is_white_listed(collection5), "Collection1 should be whitelisted"); assert!(!bridge.is_white_listed(collection2), "Collection1 should not be whitelisted"); assert!(bridge.is_white_listed(collection3), "Collection1 should be whitelisted"); start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); - bridge.white_list_collection(collection1, false); + bridge.white_list_collection(collection3, false); bridge.white_list_collection(collection2, true); stop_prank(CheatTarget::One(bridge_address)); let white_listed = bridge.get_white_listed_collections(); assert_eq!(white_listed.len(), 2, "White list shall contain 2 elements"); - assert_eq!(*white_listed.at(0), collection3, "Wrong collection address in white list"); + assert_eq!(*white_listed.at(0), collection5, "Wrong collection address in white list"); assert_eq!(*white_listed.at(1), collection2, "Wrong collection address in white list"); - assert!(!bridge.is_white_listed(collection1), "Collection1 should not be whitelisted"); + assert!(!bridge.is_white_listed(collection3), "Collection1 should not be whitelisted"); assert!(bridge.is_white_listed(collection2), "Collection1 should be whitelisted"); - assert!(bridge.is_white_listed(collection3), "Collection1 should be whitelisted"); + assert!(bridge.is_white_listed(collection5), "Collection1 should be whitelisted"); start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); + bridge.white_list_collection(collection5, false); bridge.white_list_collection(collection2, false); - bridge.white_list_collection(collection3, false); - bridge.white_list_collection(collection1, false); - bridge.white_list_collection(collection1, false); stop_prank(CheatTarget::One(bridge_address)); let white_listed = bridge.get_white_listed_collections(); @@ -769,6 +780,8 @@ mod tests { assert!(!bridge.is_white_listed(collection1), "Collection1 should not be whitelisted"); assert!(!bridge.is_white_listed(collection2), "Collection1 should not be whitelisted"); assert!(!bridge.is_white_listed(collection3), "Collection1 should not be whitelisted"); + assert!(!bridge.is_white_listed(collection4), "Collection1 should not be whitelisted"); + assert!(!bridge.is_white_listed(collection5), "Collection1 should not be whitelisted"); } #[test] @@ -831,101 +844,52 @@ mod tests { } - #[test] - fn admin_remove_whitelist_correctly() { - let erc721b_contract_class = declare("erc721_bridgeable"); + // #[test] + // fn admin_remove_whitelist_correctly() { + // let erc721b_contract_class = declare("erc721_bridgeable"); - let BRIDGE_ADMIN = starknet::contract_address_const::<'starklane'>(); - let BRIDGE_L1 = EthAddress { address: 'starklane_l1' }; + // let BRIDGE_ADMIN = starknet::contract_address_const::<'starklane'>(); + // let BRIDGE_L1 = EthAddress { address: 'starklane_l1' }; - let bridge_address = deploy_starklane(BRIDGE_ADMIN, BRIDGE_L1, erc721b_contract_class.class_hash); - let bridge = IStarklaneDispatcher { contract_address: bridge_address }; + // let bridge_address = deploy_starklane(BRIDGE_ADMIN, BRIDGE_L1, erc721b_contract_class.class_hash); + // let bridge = IStarklaneDispatcher { contract_address: bridge_address }; - let collection1 = starknet::contract_address_const::<'collection1'>(); - let collection2 = starknet::contract_address_const::<'collection2'>(); - let collection3 = starknet::contract_address_const::<'collection3'>(); - let collection4 = starknet::contract_address_const::<'collection4'>(); - let collection5 = starknet::contract_address_const::<'collection5'>(); - start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); - bridge.enable_white_list(true); - stop_prank(CheatTarget::One(bridge_address)); + // let collection1 = starknet::contract_address_const::<'collection1'>(); + // let collection2 = starknet::contract_address_const::<'collection2'>(); + // let collection3 = starknet::contract_address_const::<'collection3'>(); + // start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); + // bridge.enable_white_list(true); + // stop_prank(CheatTarget::One(bridge_address)); - /// add whitelists - let mut spy = spy_events(SpyOn::One(bridge_address)); - start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); - bridge.white_list_collection(collection1, true); - bridge.white_list_collection(collection2, true); - bridge.white_list_collection(collection3, true); - bridge.white_list_collection(collection4, true); - bridge.white_list_collection(collection5, true); - stop_prank(CheatTarget::One(bridge_address)); + // /// add whitelists + // let mut spy = spy_events(SpyOn::One(bridge_address)); + // start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); + // bridge.white_list_collection(collection1, true); + // bridge.white_list_collection(collection2, true); + // bridge.white_list_collection(collection3, true); + + // stop_prank(CheatTarget::One(bridge_address)); - spy.assert_emitted(@array![ - ( - bridge_address, - bridge::Event::CollectionWhiteListUpdated( - bridge::CollectionWhiteListUpdated { - collection: collection1, - enabled: true, - } - ) - ), - ( - bridge_address, - bridge::Event::CollectionWhiteListUpdated( - bridge::CollectionWhiteListUpdated { - collection: collection2, - enabled: true, - } - ) - ), - ( - bridge_address, - bridge::Event::CollectionWhiteListUpdated( - bridge::CollectionWhiteListUpdated { - collection: collection3, - enabled: true, - } - ) - ), - ( - bridge_address, - bridge::Event::CollectionWhiteListUpdated( - bridge::CollectionWhiteListUpdated { - collection: collection4, - enabled: true, - } - ) - ), - ( - bridge_address, - bridge::Event::CollectionWhiteListUpdated( - bridge::CollectionWhiteListUpdated { - collection: collection5, - enabled: true, - } - ) - ) - ]); - // now try to remove from whitelist collection 3. - // this tests the loop - start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); - bridge.white_list_collection(collection3, false); - stop_prank(CheatTarget::One(bridge_address)); - spy.assert_emitted(@array![ - ( - bridge_address, - bridge::Event::CollectionWhiteListUpdated( - bridge::CollectionWhiteListUpdated { - collection: collection3, - enabled: false, - } - ) - ), - ]); - } + // // now try to remove from whitelist collection 3. + // // this tests the loop + // start_prank(CheatTarget::One(bridge_address), BRIDGE_ADMIN); + // bridge.white_list_collection(collection3, false); + // stop_prank(CheatTarget::One(bridge_address)); + + // spy.assert_emitted(@array![ + // ( + // bridge_address, + // bridge::Event::CollectionWhiteListUpdated( + // bridge::CollectionWhiteListUpdated { + // collection: collection3, + // enabled: false, + // } + // ) + // ), + // ]); + // } #[test] #[should_panic]