test_social_token.py
1 from brownie import accounts as acct 2 from brownie import ZERO_ADDRESS 3 import pytest 4 from scripts.deploy_social_token import deploy_social_token 5 6 @pytest.fixture(scope="module") 7 def social_token(): 8 # Arrange 9 ## Initial variables 10 total_supply = 100000 11 12 ## Deploy required contract 13 return deploy_social_token(total_supply, acct[0]) 14 15 def test_get_token_total_supply(social_token): 16 assert social_token.totalSupply({"from": acct[0]}) == 100000, "SocialToken token's total supply is wrong" 17 18 def test_set_operator(social_token): 19 social_token.setOperator(acct[1], {"from": acct[0]}) 20 assert social_token.getOperator({"from": acct[0]}) == acct[1], "Operator address failed to change to new address" 21 22 def test_user_transfer(social_token): 23 social_token.transfer(acct[2], 100, {"from": acct[1]}) 24 assert social_token.balanceOf(acct[2]) == 100, "Participant user does not have transferred tokens" 25 26 def test_total_supply_after_transfer(social_token): 27 assert social_token.totalSupply() == 99900, "Total supply has not been updated correctly after transfer to user" 28 29 def test_burn_tokens(social_token): 30 test = social_token.balanceOf(acct[2]) 31 print(test) 32 social_token.burn(acct[2], 100, {"from": acct[1]}) 33 assert social_token.balanceOf(acct[2]) == 0, "Participant user still has transferred tokens"