@pytest.mark.asyncio
async def test_increase_and_decrease_allowance_happy_flow(token_contract: StarknetContract, uint256: Callable):
    execution_info = (await token_contract.allowance(owner=initialized_account, spender=uninitialized_account).call())
    assert (execution_info.result == (uint256(0),))
    (await token_contract.increaseAllowance(spender=uninitialized_account, added_value=uint256(APPROVE_AMOUNT)).invoke(caller_address=initialized_account))
    execution_info = (await token_contract.allowance(owner=initialized_account, spender=uninitialized_account).call())
    assert (execution_info.result == (uint256(APPROVE_AMOUNT),))
    (await token_contract.decreaseAllowance(spender=uninitialized_account, subtracted_value=uint256(int((APPROVE_AMOUNT / 2)))).invoke(caller_address=initialized_account))
    execution_info = (await token_contract.allowance(owner=initialized_account, spender=uninitialized_account).call())
    assert (execution_info.result == (uint256((APPROVE_AMOUNT - int((APPROVE_AMOUNT / 2)))),))
@pytest.mark.asyncio
async def test_increase_and_decrease_allowance_happy_flow(token_contract: StarknetContract, uint256: Callable):
    execution_info = (await token_contract.allowance(owner=initialized_account, spender=uninitialized_account).call())
    assert (execution_info.result == (uint256(0),))
    (await token_contract.increaseAllowance(spender=uninitialized_account, added_value=uint256(APPROVE_AMOUNT)).invoke(caller_address=initialized_account))
    execution_info = (await token_contract.allowance(owner=initialized_account, spender=uninitialized_account).call())
    assert (execution_info.result == (uint256(APPROVE_AMOUNT),))
    (await token_contract.decreaseAllowance(spender=uninitialized_account, subtracted_value=uint256(int((APPROVE_AMOUNT / 2)))).invoke(caller_address=initialized_account))
    execution_info = (await token_contract.allowance(owner=initialized_account, spender=uninitialized_account).call())
    assert (execution_info.result == (uint256((APPROVE_AMOUNT - int((APPROVE_AMOUNT / 2)))),))