Update commodity and transaction details and list

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-03-26 15:18:41 -04:00
parent c320f81181
commit cf2b4ab06d
9 changed files with 211 additions and 31 deletions

View File

@@ -9,11 +9,11 @@ class TestTransactions(TestCase):
user2 = User.objects.create_user(username="test2", email="test2@test.test")
# Create test commodity for user1
com1 = Commodity(created_by=user1, in_circulation=1000, name="test1")
com1 = Commodity(created_by=user1, in_circulation=1000, name="test1", symbol="TEST1")
com1.save()
# Create test commodity for user2
com2 = Commodity(created_by=user2, in_circulation=1000, name="test2")
com2 = Commodity(created_by=user2, in_circulation=1000, name="test2", symbol="TEST2")
com2.save()
# Create TX request
@@ -75,3 +75,47 @@ class TestTransactions(TestCase):
# And make sure you can still decline it after failing to accept it.
req3.decline()
class TestCommodities(TestCase):
def test_commodity_stats(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")
# Create test commodity for user1
com1 = Commodity(created_by=user1, in_circulation=1000, name="test1", symbol="TEST1")
com1.save()
# Create test commodity for user2
com2 = Commodity(created_by=user2, in_circulation=1000, name="test2", symbol="TEST2")
com2.save()
# Ensure stats are correct
self.assertEqual(com1.amount_pending, 0)
self.assertEqual(com2.amount_pending, 0)
self.assertEqual(com1.trading_volume(), 0)
self.assertEqual(com2.trading_volume(), 0)
self.assertEqual(com1.market_spread, 1)
self.assertEqual(com2.market_spread, 1)
# Create TX request
req1 = TxRequest.open(user1, user2, com1, com2, 10, 100)
# Ensure trading volume is correct
self.assertEqual(com1.amount_pending, 10)
self.assertEqual(com2.amount_pending, 0)
self.assertEqual(com1.trading_volume(), 0)
self.assertEqual(com2.trading_volume(), 0)
self.assertEqual(com1.market_spread, 1)
self.assertEqual(com2.market_spread, 1)
# Accept trade
req1.accept()
# Ensure amount pending is correct
self.assertEqual(com1.amount_pending, 0)
self.assertEqual(com2.amount_pending, 0)
self.assertEqual(com1.trading_volume(), 10)
self.assertEqual(com2.trading_volume(), 100)
self.assertEqual(com1.market_spread, 2)
self.assertEqual(com2.market_spread, 2)