Files
market/tests/test_models.py

27 lines
1.0 KiB
Python
Raw Normal View History

from django.test import TestCase
from trading.models import User, Commodity, Tx, BalanceError
class TestTransactions(TestCase):
def test_user_balances(self):
# Create users
user1 = User.objects.create_user(username="test1", email="test1@test.test")
user2 = User.objects.create_user(username="test2", email="test2@test.test")
commodity = Commodity(created_by=user1, in_circulation=1000, name="commodity")
commodity.save()
self.assertEqual(user1.balances(), {commodity: 1000})
self.assertEqual(user2.balances(), {})
Tx(source=user1, dest=user2, amount=100, commodity=commodity).save()
self.assertEqual(user1.balances(), {commodity: 900})
self.assertEqual(user2.balances(), {commodity: 100})
with self.assertRaises(BalanceError):
Tx(source=user2, dest=user1, amount=1000, commodity=commodity).save()
self.assertEqual(user1.balances(), {commodity: 900})
self.assertEqual(user2.balances(), {commodity: 100})