line/book: add quantity/uom to rec_name

This commit is contained in:
Frederik Jaeckel 2023-01-15 12:15:54 +01:00
parent 4ef14cd44b
commit 90fbfa3fde
3 changed files with 76 additions and 34 deletions

View file

@ -42,7 +42,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
}])
self.assertEqual(book.name, 'Book 1')
self.assertEqual(book.rec_name, 'Book 1 | 0.00 usd | Open')
self.assertEqual(book.rec_name, 'Book 1 | 0.00 usd | Open | 0.0000 -')
self.assertEqual(book.btype.rec_name, 'CAS - Cash')
self.assertEqual(book.state, 'open')
self.assertEqual(book.state_string, 'Open')
@ -121,7 +121,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
}])
self.assertEqual(book.name, 'Book 1')
self.assertEqual(book.rec_name, 'Book 1 | 6.50 € | Open')
self.assertEqual(book.rec_name, 'Book 1 | 6.50 € | Open | 4.753 u')
self.assertEqual(book.state, 'open')
self.assertEqual(book.feature, 'asset')
self.assertEqual(book.quantity_digits, 3)
@ -245,7 +245,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
)],
}])
self.assertEqual(book.rec_name, 'Aurum-Storage | 1,250.00 € | Open')
self.assertEqual(book.rec_name, 'Aurum-Storage | 1,250.00 € | Open | 20.000 g')
self.assertEqual(book.balance_all, Decimal('1250.0'))
self.assertEqual(len(book.lines), 1)
@ -361,7 +361,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
)],
}])
self.assertEqual(book.rec_name, 'Aurum-Storage | 1,250.00 CHF | Open')
self.assertEqual(book.rec_name, 'Aurum-Storage | 1,250.00 CHF | Open | 20.000 g')
self.assertEqual(book.balance_all, Decimal('1250.0'))
self.assertEqual(len(book.lines), 1)
@ -454,7 +454,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
}])
self.assertEqual(book.name, 'Book 1')
self.assertEqual(book.rec_name, 'Book 1 | 0.00 usd | Open')
self.assertEqual(book.rec_name, 'Book 1 | 0.00 usd | Open | 0.0000 u')
self.assertEqual(book.btype.rec_name, 'A - Asset')
self.assertEqual(book.state, 'open')
self.assertEqual(book.feature, 'asset')
@ -517,7 +517,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
}])],
}])
self.assertEqual(book.rec_name, 'Asset-Book | 1.00 usd | Open')
self.assertEqual(book.rec_name, 'Asset-Book | 1.00 usd | Open | 1.5000 u')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].amount, Decimal('1.0'))
self.assertEqual(book.lines[0].credit, Decimal('1.0'))
@ -601,7 +601,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].quantity_debit, None)
self.assertEqual(book.lines[0].feature, 'gen')
self.assertEqual(len(book2.lines), 0)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|to|-1.00 usd|Transfer Out [Asset-Book | 0.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|to|-1.00 usd|Transfer Out [Asset-Book | 0.00 usd | Open | 0.0000 u]')
self.assertEqual(len(book.lines[0].references), 0)
# update quantity
@ -615,7 +616,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].quantity_debit, None)
# check counterpart
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book | 0.00 usd | Open')
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book | 0.00 usd | Open | 0.0000 u')
self.assertEqual(book.lines[0].booktransf.btype.feature, 'asset')
self.assertEqual(book.lines[0].booktransf_feature, 'asset')
@ -624,7 +625,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.rec_name, 'Book 1 | -1.00 usd | Open')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|to|-1.00 usd|Transfer Out [Asset-Book | 1.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|to|-1.00 usd|Transfer Out [Asset-Book | 1.00 usd | Open | 2.5000 u]')
self.assertEqual(book.lines[0].state, 'check')
self.assertEqual(book.lines[0].bookingtype, 'mvout')
self.assertEqual(book.lines[0].feature, 'gen')
@ -642,9 +644,10 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].reference, None)
self.assertEqual(book.lines[0].references[0].id, book2.lines[0].id)
self.assertEqual(book2.rec_name, 'Asset-Book | 1.00 usd | Open')
self.assertEqual(book2.rec_name, 'Asset-Book | 1.00 usd | Open | 2.5000 u')
self.assertEqual(len(book2.lines), 1)
self.assertEqual(book2.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer Out [Book 1 | -1.00 usd | Open]')
self.assertEqual(book2.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer Out [Book 1 | -1.00 usd | Open]|2.5000 u')
self.assertEqual(book2.lines[0].state, 'check')
self.assertEqual(book2.lines[0].bookingtype, 'mvin')
self.assertEqual(book2.lines[0].feature, 'asset')
@ -659,7 +662,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book2.lines[0].quantity2nd, None)
self.assertEqual(book2.lines[0].quantity2nd_digits, 4)
self.assertEqual(book2.lines[0].asset_rate, Decimal('0.4'))
self.assertEqual(book2.lines[0].reference.rec_name, '05/01/2022|to|-1.00 usd|Transfer Out [Asset-Book | 1.00 usd | Open]')
self.assertEqual(book2.lines[0].reference.rec_name,
'05/01/2022|to|-1.00 usd|Transfer Out [Asset-Book | 1.00 usd | Open | 2.5000 u]')
self.assertEqual(len(book2.lines[0].references), 0)
l1 = list(book.lines)
@ -736,11 +740,12 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].quantity_debit, None)
self.assertEqual(book.lines[0].feature, 'gen')
self.assertEqual(len(book2.lines), 0)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book | 0.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book | 0.00 usd | Open | 0.0000 u]')
self.assertEqual(len(book.lines[0].references), 0)
# check counterpart
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book | 0.00 usd | Open')
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book | 0.00 usd | Open | 0.0000 u')
self.assertEqual(book.lines[0].booktransf.btype.feature, 'asset')
self.assertEqual(book.lines[0].booktransf_feature, 'asset')
@ -749,7 +754,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.rec_name, 'Book 1 | 1.00 usd | Open')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book | -1.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book | -1.00 usd | Open | -1.5000 u]')
self.assertEqual(book.lines[0].state, 'check')
self.assertEqual(book.lines[0].bookingtype, 'mvin')
self.assertEqual(book.lines[0].feature, 'gen')
@ -767,9 +773,10 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].reference, None)
self.assertEqual(book.lines[0].references[0].id, book2.lines[0].id)
self.assertEqual(book2.rec_name, 'Asset-Book | -1.00 usd | Open')
self.assertEqual(book2.rec_name, 'Asset-Book | -1.00 usd | Open | -1.5000 u')
self.assertEqual(len(book2.lines), 1)
self.assertEqual(book2.lines[0].rec_name, '05/01/2022|to|-1.00 usd|Transfer In [Book 1 | 1.00 usd | Open]')
self.assertEqual(book2.lines[0].rec_name,
'05/01/2022|to|-1.00 usd|Transfer In [Book 1 | 1.00 usd | Open]|1.5000 u')
self.assertEqual(book2.lines[0].state, 'check')
self.assertEqual(book2.lines[0].bookingtype, 'mvout')
self.assertEqual(book2.lines[0].feature, 'asset')
@ -784,7 +791,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book2.lines[0].quantity2nd, None)
self.assertEqual(book2.lines[0].quantity2nd_digits, 4)
self.assertEqual(book2.lines[0].asset_rate, Decimal('0.6667'))
self.assertEqual(book2.lines[0].reference.rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book | -1.00 usd | Open]')
self.assertEqual(book2.lines[0].reference.rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book | -1.00 usd | Open | -1.5000 u]')
self.assertEqual(len(book2.lines[0].references), 0)
@with_transaction()
@ -846,7 +854,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
'quantity': Decimal('1.5'),
}])],
}])
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open')
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open | 1.5000 u')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].amount, Decimal('1.0'))
self.assertEqual(book.lines[0].credit, Decimal('1.0'))
@ -856,20 +864,22 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].quantity_debit, Decimal('0.0'))
self.assertEqual(book.lines[0].feature, 'asset')
self.assertEqual(len(book2.lines), 0)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | 0.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | 0.00 usd | Open | 0.0000 u]|1.5000 u')
self.assertEqual(len(book.lines[0].references), 0)
# check counterpart
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book 1 | 0.00 usd | Open')
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book 1 | 0.00 usd | Open | 0.0000 u')
self.assertEqual(book.lines[0].booktransf.btype.feature, 'asset')
self.assertEqual(book.lines[0].booktransf_feature, 'asset')
# set line to 'checked', this creates the counterpart
Line.wfcheck(list(book.lines))
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open')
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open | 1.5000 u')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open | -1.5000 u]|1.5000 u')
self.assertEqual(book.lines[0].state, 'check')
self.assertEqual(book.lines[0].bookingtype, 'mvin')
self.assertEqual(book.lines[0].feature, 'asset')
@ -887,9 +897,10 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].reference, None)
self.assertEqual(book.lines[0].references[0].id, book2.lines[0].id)
self.assertEqual(book2.rec_name, 'Asset-Book 1 | -1.00 usd | Open')
self.assertEqual(book2.rec_name, 'Asset-Book 1 | -1.00 usd | Open | -1.5000 u')
self.assertEqual(len(book2.lines), 1)
self.assertEqual(book2.lines[0].rec_name, '05/01/2022|to|-1.00 usd|Transfer In [Asset-Book 2 | 1.00 usd | Open]')
self.assertEqual(book2.lines[0].rec_name,
'05/01/2022|to|-1.00 usd|Transfer In [Asset-Book 2 | 1.00 usd | Open | 1.5000 u]|1.5000 u')
self.assertEqual(book2.lines[0].state, 'check')
self.assertEqual(book2.lines[0].bookingtype, 'mvout')
self.assertEqual(book2.lines[0].feature, 'asset')
@ -904,7 +915,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book2.lines[0].quantity2nd, None)
self.assertEqual(book2.lines[0].quantity2nd_digits, 4)
self.assertEqual(book2.lines[0].asset_rate, Decimal('0.6667'))
self.assertEqual(book2.lines[0].reference.rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open]')
self.assertEqual(book2.lines[0].reference.rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open | -1.5000 u]|1.5000 u')
self.assertEqual(len(book2.lines[0].references), 0)
@with_transaction()
@ -998,7 +1010,7 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
'quantity': Decimal('1.5'),
}])],
}])
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open')
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open | 1.5000 oz')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].amount, Decimal('1.0'))
self.assertEqual(book.lines[0].credit, Decimal('1.0'))
@ -1015,20 +1027,22 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].quantity2nd_digits, 4)
self.assertEqual(book.lines[0].feature, 'asset')
self.assertEqual(len(book2.lines), 0)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | 0.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | 0.00 usd | Open | 0.0000 g]|1.5000 oz')
self.assertEqual(len(book.lines[0].references), 0)
# check counterpart
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book 1 | 0.00 usd | Open')
self.assertEqual(book.lines[0].booktransf.rec_name, 'Asset-Book 1 | 0.00 usd | Open | 0.0000 g')
self.assertEqual(book.lines[0].booktransf.btype.feature, 'asset')
self.assertEqual(book.lines[0].booktransf_feature, 'asset')
# set line to 'checked', this creates the counterpart
Line.wfcheck(list(book.lines))
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open')
self.assertEqual(book.rec_name, 'Asset-Book 2 | 1.00 usd | Open | 1.5000 oz')
self.assertEqual(len(book.lines), 1)
self.assertEqual(book.lines[0].rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open]')
self.assertEqual(book.lines[0].rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open | -42.5243 g]|1.5000 oz')
self.assertEqual(book.lines[0].state, 'check')
self.assertEqual(book.lines[0].bookingtype, 'mvin')
self.assertEqual(book.lines[0].feature, 'asset')
@ -1047,9 +1061,10 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book.lines[0].reference, None)
self.assertEqual(book.lines[0].references[0].id, book2.lines[0].id)
self.assertEqual(book2.rec_name, 'Asset-Book 1 | -1.00 usd | Open')
self.assertEqual(book2.rec_name, 'Asset-Book 1 | -1.00 usd | Open | -42.5243 g')
self.assertEqual(len(book2.lines), 1)
self.assertEqual(book2.lines[0].rec_name, '05/01/2022|to|-1.00 usd|Transfer In [Asset-Book 2 | 1.00 usd | Open]')
self.assertEqual(book2.lines[0].rec_name,
'05/01/2022|to|-1.00 usd|Transfer In [Asset-Book 2 | 1.00 usd | Open | 1.5000 oz]|42.5243 g')
self.assertEqual(book2.lines[0].state, 'check')
self.assertEqual(book2.lines[0].bookingtype, 'mvout')
self.assertEqual(book2.lines[0].feature, 'asset')
@ -1065,7 +1080,8 @@ class CbInvTestCase(CashbookTestCase, InvestmentTestCase):
self.assertEqual(book2.lines[0].quantity2nd.factor, 0.028349523125)
self.assertEqual(book2.lines[0].quantity2nd_digits, 4)
self.assertEqual(book2.lines[0].asset_rate, Decimal('0.0235'))
self.assertEqual(book2.lines[0].reference.rec_name, '05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open]')
self.assertEqual(book2.lines[0].reference.rec_name,
'05/01/2022|from|1.00 usd|Transfer In [Asset-Book 1 | -1.00 usd | Open | -42.5243 g]|1.5000 oz')
self.assertEqual(len(book2.lines[0].references), 0)
@with_transaction()