new tests for minting based on donations
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
This commit is contained in:
		
							parent
							
								
									4bea615f8b
								
							
						
					
					
						commit
						a8790cc452
					
				| @ -35,6 +35,9 @@ contract ReserveTest is Test { | |||||||
|         assertEq(reserve.symbol(), symbol); |         assertEq(reserve.symbol(), symbol); | ||||||
|         assertEq(reserve.decimals(), 18); |         assertEq(reserve.decimals(), 18); | ||||||
|         assertEq(reserve.totalSupply(), 0); |         assertEq(reserve.totalSupply(), 0); | ||||||
|  | 
 | ||||||
|  |         assertEq(reserve.donationRate(), 0); | ||||||
|  |         assertEq(reserve.conversionRate(), conversionRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     function test_mint_couldBeDoneWithValue() public { |     function test_mint_couldBeDoneWithValue() public { | ||||||
| @ -83,6 +86,37 @@ contract ReserveTest is Test { | |||||||
|         assertEq(reserve.balanceOf(aliceAddress),  0); |         assertEq(reserve.balanceOf(aliceAddress),  0); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     function test_mint_donationNotTakenIfRateNotSet() public { | ||||||
|  |         assertEq(reserve.totalSupply(), 0); | ||||||
|  |         assertEq(reserve.donationRate(), 0); | ||||||
|  |         assertEq(reserve.accumulatedDonation(), 0); | ||||||
|  | 
 | ||||||
|  |         deal(aliceAddress, sendAmount); | ||||||
|  |         vm.prank(aliceAddress); | ||||||
|  |         reserve.mint{ value: sendAmount }(aliceAddress); | ||||||
|  | 
 | ||||||
|  |         assertEq(reserve.totalSupply(), sendAmount * conversionRate); | ||||||
|  |         assertEq(reserve.donationRate(), 0); | ||||||
|  |         assertEq(reserve.accumulatedDonation(), 0); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     function test_mint_donationIsTakenIfRateExists() public { | ||||||
|  |         assertEq(reserve.totalSupply(), 0); | ||||||
|  |         assertEq(reserve.donationRate(), 0); | ||||||
|  |         assertEq(reserve.accumulatedDonation(), 0); | ||||||
|  | 
 | ||||||
|  |         vm.prank(initializer); | ||||||
|  |         reserve.changeReminder(1e4); // 10% | ||||||
|  | 
 | ||||||
|  |         deal(aliceAddress, sendAmount); | ||||||
|  |         vm.prank(aliceAddress); | ||||||
|  |         reserve.mint{ value: sendAmount }(aliceAddress); | ||||||
|  | 
 | ||||||
|  |         assertEq(reserve.totalSupply(), sendAmount * conversionRate); | ||||||
|  |         assertEq(reserve.donationRate(), 1e4); | ||||||
|  |         assertEq(reserve.accumulatedDonation(), sendAmount * 1e4 / 1e5); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     function test_rate_couldBeChangedByDeployer() public { |     function test_rate_couldBeChangedByDeployer() public { | ||||||
|         assertEq(reserve.conversionRate(), conversionRate); |         assertEq(reserve.conversionRate(), conversionRate); | ||||||
|         vm.prank(initializer); |         vm.prank(initializer); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user