Actualización de las pruebas del modulo

This commit is contained in:
root 2024-01-03 16:20:28 +00:00
parent 90f641766a
commit 554bf84e53
6 changed files with 73 additions and 65 deletions

View File

@ -1,10 +1,10 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.model import ModelView, ModelSQL, fields
from trytond.pool import PoolMeta
from trytond.model import fields
from trytond.pyson import Eval
from trytond.model.exceptions import ValidationError
from trytond.exceptions import UserError
class Invoice(metaclass=PoolMeta):
'Account Invoice'
@ -12,28 +12,31 @@ class Invoice(metaclass=PoolMeta):
_states = {
'readonly': Eval('state') != 'draft',
}
}
account_analytic = fields.Many2One(
'analytic_account.account', 'Analytic Account',
domain=[('type', '=', 'normal')],
states=_states)
account_analytic = fields.Many2One('analytic_account.account', 'Analytic Account',
domain=[('type', '=', 'normal')],
states=_states)
class InvoiceLine(metaclass=PoolMeta):
'Invoice Line'
__name__ = 'account.invoice.line'
@fields.depends('product', 'unit', '_parent_invoice.type', 'analytic_accounts',
'_parent_invoice.party', 'party', 'invoice', 'invoice_type',
'_parent_invoice.account_analytic', '_parent_invoice.invoice_date',
'_parent_invoice.accounting_date','company', methods=['_get_tax_rule_pattern'])
def on_change_product(self):
super(InvoiceLine, self).on_change_product()
self.analytic_accounts = tuple()
try:
self.analytic_accounts += ({'root': self.invoice.account_analytic.root,
'account': self.invoice.account_analytic},)
except:
pass
'Invoice Line'
__name__ = 'account.invoice.line'
@fields.depends(
'product', 'unit', '_parent_invoice.type', 'analytic_accounts',
'_parent_invoice.party', 'party', 'invoice', 'invoice_type',
'_parent_invoice.account_analytic', '_parent_invoice.invoice_date',
'_parent_invoice.accounting_date', 'company',
methods=['_get_tax_rule_pattern'])
def on_change_product(self):
super(InvoiceLine, self).on_change_product()
self.analytic_accounts = tuple()
try:
if self.invoice and self.invoice.account_analytic:
self.analytic_accounts += (
{'root': self.invoice.account_analytic.root,
'account': self.invoice.account_analytic},)
except Exception as e:
raise ValidationError(f"Se produjo un error: {e}")

View File

@ -1,10 +1,10 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.model import ModelView, ModelSQL, fields
from trytond.pool import PoolMeta
from trytond.model import fields
from trytond.pyson import Eval
from trytond.model.exceptions import ValidationError
from trytond.exceptions import UserError
class Purchase(metaclass=PoolMeta):
'Purchase Analytic Operation'
@ -12,20 +12,25 @@ class Purchase(metaclass=PoolMeta):
_states = {
'readonly': Eval('state') != 'draft',
}
}
account_analytic = fields.Many2One(
'analytic_account.account', 'Analytic Account', required=True,
domain=[('type', '=', 'normal')],
states=_states)
account_analytic = fields.Many2One('analytic_account.account', 'Analytic Account', required=True,
domain=[('type', '=', 'normal')],
states=_states)
class PurchaseLine(metaclass=PoolMeta):
'Purchase Line Analytic Operation'
__name__ = 'purchase.line'
__name__ = 'purchase.line'
@fields.depends('product', 'unit', 'purchase',
@fields.depends(
'product', 'unit', 'purchase',
'_parent_purchase.party', '_parent_purchase.invoice_party',
'_parent_purchase.account_analytic', 'product_supplier',
'analytic_accounts', methods=['compute_taxes', 'compute_unit_price',
'_get_product_supplier_pattern'])
'analytic_accounts',
methods=['compute_taxes', 'compute_unit_price',
'_get_product_supplier_pattern'])
def on_change_product(self):
if not self.product:
return
@ -43,7 +48,7 @@ class PurchaseLine(metaclass=PoolMeta):
self.unit = self.product.purchase_uom
product_suppliers = list(self.product.product_suppliers_used(
**self._get_product_supplier_pattern()))
**self._get_product_supplier_pattern()))
if len(product_suppliers) == 1:
self.product_supplier, = product_suppliers
elif (self.product_supplier
@ -57,7 +62,8 @@ class PurchaseLine(metaclass=PoolMeta):
self.analytic_accounts = tuple()
try:
self.analytic_accounts += ({'root': self.purchase.account_analytic.root,
'account': self.purchase.account_analytic},)
except:
pass
self.analytic_accounts += (
{'root': self.purchase.account_analytic.root,
'account': self.purchase.account_analytic},)
except Exception as e:
raise ValidationError(f"Se produjo un error: {e}")

26
sale.py
View File

@ -1,10 +1,9 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.model import ModelView, ModelSQL, fields
from trytond.pyson import Eval
from trytond.pool import PoolMeta
from trytond.model import fields
from trytond.model.exceptions import ValidationError
from trytond.exceptions import UserError
class Sale(metaclass=PoolMeta):
'Sale Analytic Operation'
@ -16,11 +15,10 @@ class Sale(metaclass=PoolMeta):
('type', '=', 'normal'),
])
class SaleLine(metaclass=PoolMeta):
'Sale Line Analytic Operation'
__name__ = 'sale.line'
__name__ = 'sale.line'
@fields.depends('product', 'unit', 'sale',
'_parent_sale.party', '_parent_sale.invoice_party',
@ -30,7 +28,7 @@ class SaleLine(metaclass=PoolMeta):
def on_change_product(self):
if not self.product:
return
party = None
if self.sale:
party = self.sale.invoice_party or self.sale.party
@ -44,13 +42,13 @@ class SaleLine(metaclass=PoolMeta):
self.unit_price = self.compute_unit_price()
self.type = 'line'
self.amount = self.on_change_with_amount()
self.analytic_accounts = tuple()
try:
self.analytic_accounts += ({'root': self.sale.account_analytic.root,
'account': self.sale.account_analytic},)
except:
pass
self.analytic_accounts += (
{'root': self.sale.account_analytic.root,
'account': self.sale.account_analytic},)
except Exception as e:
raise ValidationError(f"Se produjo un error: {e}")

View File

@ -39,7 +39,7 @@ version = info.get('version', '0.0.1')
major_version, minor_version, _ = version.split('.', 2)
major_version = int(major_version)
minor_version = int(minor_version)
name = 'trytond_analytic_operation'
name = 'trytond_analytic_operations'
download_url = 'http://downloads.tryton.org/%s.%s/' % (
major_version, minor_version)
@ -85,19 +85,20 @@ setup(name=name,
download_url=download_url,
project_urls={
"Bug Tracker": 'https://bugs.tryton.org/',
"Documentation": 'https://docs.tryton.org/projects/modules-analytic-operation',
"Documentation":
'https://docs.tryton.org/projects/modules-analytic-operation',
"Forum": 'https://www.tryton.org/forum',
"Source Code": 'https://hg.tryton.org/modules/analytic_operation',
"Source Code": 'https://hg.tryton.org/modules/analytic_operations',
},
keywords='analitic, invoice, purchase, sale',
package_dir={'trytond.modules.analytic_operation': '.'},
package_dir={'trytond.modules.analytic_operations': '.'},
packages=(
['trytond.modules.analytic_operation']
+ ['trytond.modules.analytic_operation.%s' % p
['trytond.modules.analytic_operations']
+ ['trytond.modules.analytic_operations.%s' % p
for p in find_packages()]
),
package_data={
'trytond.modules.analytic_operation': (info.get('xml', [])
'trytond.modules.analytic_operations': (info.get('xml', [])
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt',
'icons/*.svg', 'tests/*.rst']),
},
@ -150,6 +151,6 @@ setup(name=name,
zip_safe=False,
entry_points="""
[trytond.modules]
analytic_operation = trytond.modules.analytic_operation
analytic_operations = trytond.modules.analytic_operations
""", # noqa: E501
)

View File

@ -5,7 +5,7 @@ from trytond.tests.test_tryton import ModuleTestCase
class AnalyticOperationTestCase(ModuleTestCase):
"Test Analytic Operation module"
module = 'analytic_operation'
module = 'analytic_operations'
del ModuleTestCase

View File

@ -4,8 +4,8 @@ envlist = {py37,py38,py39,py310}-{sqlite,postgresql}
[testenv]
extras = test
commands =
coverage run --include=./**/analytic_operation/* -m unittest discover -s tests
coverage report --include=./**/analytic_operation/* --omit=*/tests/*
coverage run --include=./**//* -m unittest discover -s tests
coverage report --include=./**/analytic_operations/* --omit=*/tests/*
deps =
coverage
postgresql: psycopg2 >= 2.7.0