@@ -92,7 +92,11 @@ fn test_genesis_transfer_share_success() {
9292 assert (shares == remaining_amount , ' CHARLIE SHARES MISMATCH' );
9393
9494 let share_holders = genesis . get_shareholders ();
95- assert (share_holders . len () == 2 , ' INCORRECT SHARE HOLDERS' );
95+ println! (" Number of share holders: {}" , share_holders . len ());
96+ for i in 0 .. share_holders . len () {
97+ println! (" Share at {} is: {}" , i , genesis . get_shares (* share_holders . at (i )));
98+ }
99+ assert (share_holders . len () == 3 , ' INCORRECT SHARE HOLDERS' ); // since the owner holds by default
96100
97101 let event = BigIncGenesis :: Event :: TransferShare (
98102 BigIncGenesis :: TransferShare { from : charlie (), to : alice (), share_amount : amount },
@@ -144,8 +148,11 @@ fn test_genesis_donate_success() {
144148#[should_panic(expected: ' Exceeds available shares' )]
145149fn test_genesis_mint_share_should_panic_on_exceeded_available_shares () {
146150 let (genesis , usdt , _ ) = setup ();
147- let amount = genesis . get_available_shares ();
148- feign_mint_share (genesis , usdt , amount + 2 );
151+ let shares = genesis . get_available_shares ();
152+ let presale_share_valuation = genesis . get_presale_share_valuation ();
153+ println! (" Available shares: {}" , shares );
154+ let amount = (shares * presale_share_valuation ) / 100000000 ;
155+ feign_mint_share (genesis , usdt , amount + 10000 );
149156}
150157
151158#[test]
@@ -223,7 +230,8 @@ fn test_genesis_partner_share_cap_operations_success_and_should_panic_on_exceede
223230 let cap = 10000000 ;
224231 let mut spy = spy_events ();
225232 genesis . set_partner_share_cap (usdt . contract_address, cap ); // 10M shares cap
226- let rate = 10 ;
233+
234+ let rate = 10000 ;
227235 genesis . set_partner_token_rate (usdt . contract_address, rate );
228236
229237 let cap_ref = genesis . get_partner_share_cap (usdt . contract_address);
@@ -233,18 +241,27 @@ fn test_genesis_partner_share_cap_operations_success_and_should_panic_on_exceede
233241 BigIncGenesis :: PartnerShareCapSet { token_address : usdt . contract_address, cap },
234242 );
235243
236- let amount = 10000 ;
244+ // let amount = 10000;
245+ let share_precision = 100000000_u256 ;
246+ // let shares_received = (amount * share_precision) / rate;
247+ let amount = (cap * rate ) / share_precision ;
237248 mint (array! [(alice (), amount )], usdt );
238249 cheat_caller_address (usdt . contract_address, alice (), CheatSpan :: TargetCalls (1 ));
239250 usdt . approve (genesis . contract_address, amount );
240251
241252 // Mint partner shares
242253 cheat_caller_address (genesis . contract_address, alice (), CheatSpan :: TargetCalls (1 ));
254+ println! (" Got here, 1." );
243255 genesis . mint_partner_share (usdt . contract_address, amount );
256+ println! (" Got here, 2." );
244257 let shares_received = genesis . get_shares_sold ();
245258 let shares = genesis . get_shares (alice ());
246259 assert (shares == shares_received , ' ALICE SHARES MISMATCH' );
247260
261+ let shares_minted_by_partner = genesis . get_shares_minted_by_partner (usdt . contract_address);
262+ println! (" Shares minted by partner: {}" , shares_minted_by_partner );
263+ println! (" Cap: {}" , cap );
264+
248265 let event2 = BigIncGenesis :: Event :: PartnerShareMinted (
249266 BigIncGenesis :: PartnerShareMinted {
250267 token_address : usdt . contract_address,
@@ -264,23 +281,23 @@ fn test_genesis_partner_share_cap_operations_success_and_should_panic_on_exceede
264281
265282#[test]
266283#[should_panic(expected: (' Caller is not the owner' ,))]
267- fn test_set_partner_share_cap_not_owner () {
284+ fn test_genesis_set_partner_share_cap_not_owner () {
268285 let (genesis , usdt , _ ) = setup ();
269286 cheat_caller_address (genesis . contract_address, alice (), CheatSpan :: TargetCalls (1 ));
270287 genesis . set_partner_share_cap (usdt . contract_address, 1000 );
271288}
272289
273290#[test]
274291#[should_panic(expected: (' Invalid token address' ,))]
275- fn test_set_partner_share_cap_invalid_token () {
292+ fn test_genesis_set_partner_share_cap_invalid_token () {
276293 let (genesis , _ , _ ) = setup ();
277294 cheat_caller_address (genesis . contract_address, owner (), CheatSpan :: TargetCalls (1 ));
278295 let random_token : ContractAddress = ' random token' . try_into (). unwrap ();
279296 genesis . set_partner_share_cap (random_token , 1000 );
280297}
281298
282299#[test]
283- fn test_remove_partner_share_cap_success () {
300+ fn test_genesis_remove_partner_share_cap_success () {
284301 let (genesis , _ , usdc ) = setup ();
285302 cheat_caller_address (genesis . contract_address, owner (), CheatSpan :: Indefinite );
286303 genesis . set_partner_share_cap (usdc . contract_address, 1000 );
@@ -291,3 +308,33 @@ fn test_remove_partner_share_cap_success() {
291308 let shares = genesis . get_partner_share_cap (usdc . contract_address);
292309 assert (shares == 0 , ' PARTNER SHARES CAP SHOULD BE 0' );
293310}
311+
312+ #[test]
313+ #[should_panic(expected: ' Pausable: paused' )]
314+ fn test_genesis_mint_should_panic_on_pause () {
315+ let (genesis , usdt , _ ) = setup ();
316+ cheat_caller_address (genesis . contract_address, owner (), CheatSpan :: TargetCalls (1 ));
317+ genesis . pause ();
318+ feign_mint_share (genesis , usdt , 1000 );
319+ }
320+
321+ #[test]
322+ #[should_panic(expected: ' Pausable: paused' )]
323+ fn test_genesis_transfer_should_panic_on_pause () {
324+ let (genesis , _ ) = default_mint_context ();
325+ cheat_caller_address (genesis . contract_address, owner (), CheatSpan :: TargetCalls (1 ));
326+ genesis . pause ();
327+ cheat_caller_address (genesis . contract_address, charlie (), CheatSpan :: TargetCalls (1 ));
328+ genesis . transfer_share (alice (), 1 );
329+ }
330+
331+ #[test]
332+ fn test_genesis_mint_and_transfer_success_on_unpause () {
333+ let (genesis , usdt , _ ) = setup ();
334+ cheat_caller_address (genesis . contract_address, owner (), CheatSpan :: TargetCalls (2 ));
335+ genesis . pause ();
336+ genesis . unpause ();
337+ feign_mint_share (genesis , usdt , 100000 );
338+ cheat_caller_address (genesis . contract_address, charlie (), CheatSpan :: TargetCalls (1 ));
339+ genesis . transfer_share (alice (), 1 );
340+ }
0 commit comments