/ token / tests / test_social_token.py
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"