asset: query für update
This commit is contained in:
parent
a936d85043
commit
f8ba90d633
5 changed files with 211 additions and 117 deletions
|
@ -6,8 +6,9 @@
|
|||
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
|
||||
from trytond.pool import Pool
|
||||
from trytond.modules.company.tests import create_company
|
||||
from trytond.transaction import Transaction
|
||||
from decimal import Decimal
|
||||
from datetime import time
|
||||
from datetime import time, date
|
||||
|
||||
|
||||
class AssetTestCase(ModuleTestCase):
|
||||
|
@ -102,20 +103,121 @@ class AssetTestCase(ModuleTestCase):
|
|||
}])
|
||||
|
||||
self.assertEqual(asset.updtsource, None)
|
||||
self.assertEqual(asset.updttime1, None)
|
||||
self.assertEqual(asset.updttime2, None)
|
||||
self.assertEqual(asset.updttime3, None)
|
||||
self.assertEqual(asset.updttime, None)
|
||||
|
||||
asset.updtsource = o_source
|
||||
asset.updttime1 = time(10, 45)
|
||||
asset.updttime = time(10, 45)
|
||||
asset.save()
|
||||
self.assertEqual(asset.updtsource.rec_name, 'Source 1')
|
||||
self.assertEqual(asset.updttime1, time(10, 45))
|
||||
self.assertEqual(asset.updttime, time(10, 45))
|
||||
|
||||
asset.updtsource = None
|
||||
asset.on_change_updtsource()
|
||||
self.assertEqual(asset.updtsource, None)
|
||||
self.assertEqual(asset.updttime1, None)
|
||||
self.assertEqual(asset.updttime, None)
|
||||
|
||||
@with_transaction()
|
||||
def test_asset_check_update_select(self):
|
||||
""" create asset, add online-source,
|
||||
check selection of assets to update
|
||||
"""
|
||||
pool = Pool()
|
||||
OnlineSource = pool.get('investment.source')
|
||||
Asset = pool.get('investment.asset')
|
||||
|
||||
company = self.prep_asset_company()
|
||||
product = self.prep_asset_product(
|
||||
name='Product 1',
|
||||
description='some asset')
|
||||
|
||||
asset = self.prep_asset_item(
|
||||
company=company,
|
||||
product = product)
|
||||
|
||||
o_source, = OnlineSource.create([{
|
||||
'name': 'Source 1',
|
||||
}])
|
||||
Asset.write(*[
|
||||
[asset],
|
||||
{
|
||||
'updtsource': o_source.id,
|
||||
'updttime': time(10, 45),
|
||||
}])
|
||||
self.assertEqual(asset.updtsource.rec_name, 'Source 1')
|
||||
self.assertEqual(asset.updttime, time(10, 45))
|
||||
self.assertEqual(len(asset.rates), 0)
|
||||
|
||||
with Transaction().set_context({
|
||||
'qdate': date(2022, 10, 15),
|
||||
'qtime': time(10, 30),
|
||||
}):
|
||||
# no rates exists - wait for 10:45
|
||||
self.assertEqual(asset.updtneeded, True)
|
||||
self.assertEqual(
|
||||
Asset.search_count([('updtneeded', '=', True)]),
|
||||
0)
|
||||
|
||||
with Transaction().set_context({
|
||||
'qdate': date(2022, 10, 15),
|
||||
'qtime': time(10, 46),
|
||||
}):
|
||||
# no rates exists - run at 10:46
|
||||
self.assertEqual(asset.updtneeded, True)
|
||||
self.assertEqual(
|
||||
Asset.search_count([('updtneeded', '=', True)]),
|
||||
1)
|
||||
|
||||
# add rate at yesterday
|
||||
Asset.write(*[
|
||||
[asset],
|
||||
{
|
||||
'rates': [('create', [{
|
||||
'date': date(2022, 10, 14),
|
||||
'rate': Decimal('1.5'),
|
||||
}])],
|
||||
}])
|
||||
self.assertEqual(len(asset.rates), 1)
|
||||
|
||||
with Transaction().set_context({
|
||||
'qdate': date(2022, 10, 15),
|
||||
'qtime': time(10, 30),
|
||||
}):
|
||||
# 1x rate exists - run at 10:30
|
||||
self.assertEqual(asset.updtneeded, True)
|
||||
self.assertEqual(
|
||||
Asset.search_count([('updtneeded', '=', True)]),
|
||||
0)
|
||||
|
||||
with Transaction().set_context({
|
||||
'qdate': date(2022, 10, 15),
|
||||
'qtime': time(10, 46),
|
||||
}):
|
||||
# 1x rate exists yesterday - run at 10:46
|
||||
self.assertEqual(asset.updtneeded, True)
|
||||
self.assertEqual(
|
||||
Asset.search_count([('updtneeded', '=', True)]),
|
||||
1)
|
||||
|
||||
# add rate at today
|
||||
Asset.write(*[
|
||||
[asset],
|
||||
{
|
||||
'rates': [('create', [{
|
||||
'date': date(2022, 10, 15),
|
||||
'rate': Decimal('1.5'),
|
||||
}])],
|
||||
}])
|
||||
self.assertEqual(len(asset.rates), 2)
|
||||
|
||||
with Transaction().set_context({
|
||||
'qdate': date(2022, 10, 15),
|
||||
'qtime': time(10, 47),
|
||||
}):
|
||||
# 1x rate exists today - run at 10:47
|
||||
self.assertEqual(asset.updtneeded, True)
|
||||
self.assertEqual(
|
||||
Asset.search_count([('updtneeded', '=', True)]),
|
||||
0)
|
||||
|
||||
@with_transaction()
|
||||
def test_asset_indentifiers(self):
|
||||
|
@ -188,7 +290,7 @@ class AssetTestCase(ModuleTestCase):
|
|||
|
||||
@with_transaction()
|
||||
def test_asset_check_product_update(self):
|
||||
""" create asset
|
||||
""" check update of product on asset
|
||||
"""
|
||||
company = self.prep_asset_company()
|
||||
product1 = self.prep_asset_product(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue