book: add caching for line

This commit is contained in:
Frederik Jaeckel 2023-02-27 20:37:38 +01:00
parent 624a5bff55
commit 39309783b6
5 changed files with 51 additions and 10 deletions

View file

@ -9,6 +9,7 @@ from trytond.transaction import Transaction
from trytond.exceptions import UserError
from datetime import date
from decimal import Decimal
from trytond.modules.cashbook.model import CACHEKEY_CASHBOOK
class BookTestCase(ModuleTestCase):
@ -189,6 +190,11 @@ class BookTestCase(ModuleTestCase):
self.assertEqual(book.rec_name, 'Level 1')
self.assertEqual(len(book.childs), 1)
self.assertEqual(book.childs[0].rec_name, 'Level 1/Level 2 | 0.00 usd | Open')
self.assertEqual(book.get_cachekeys_by_hierarchy(), [CACHEKEY_CASHBOOK % book.id])
self.assertEqual(book.childs[0].get_cachekeys_by_hierarchy(), [
CACHEKEY_CASHBOOK % book.id,
CACHEKEY_CASHBOOK % book.childs[0].id
])
@with_transaction()
def test_book_deny_delete_open(self):

View file

@ -6,7 +6,7 @@
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
from trytond.pool import Pool
from trytond.transaction import Transaction
from trytond.modules.cashbook.model import CACHEKEY_CURRENCY
from trytond.modules.cashbook.model import CACHEKEY_CURRENCY, ENABLE_CACHE
from datetime import date
from decimal import Decimal
import time
@ -53,7 +53,10 @@ class CurrencyTestCase(ModuleTestCase):
value = '%d-c%s' % (
currency.rates[0].id,
str(currency.rates[0].create_date.timestamp()))
self.assertEqual(MemCache.read_value(cache_key), value)
if ENABLE_CACHE == True:
self.assertEqual(MemCache.read_value(cache_key), value)
else :
self.assertEqual(MemCache.read_value(cache_key), None)
time.sleep(1.0)
Currency.write(*[
@ -70,7 +73,10 @@ class CurrencyTestCase(ModuleTestCase):
value = '%d-w%s' % (
currency.rates[0].id,
str(currency.rates[0].write_date.timestamp()))
self.assertEqual(MemCache.read_value(cache_key), value)
if ENABLE_CACHE == True:
self.assertEqual(MemCache.read_value(cache_key), value)
else :
self.assertEqual(MemCache.read_value(cache_key), None)
Currency.write(*[
[currency],