[REF] - Use method _get_quantity_to_invoice.

This commit is contained in:
sbejaoui
2019-03-11 23:39:40 +01:00
committed by Víctor Martínez
parent 0caeffffa6
commit ba3e49c6b8
5 changed files with 90 additions and 66 deletions

View File

@@ -12,44 +12,51 @@ from odoo import exceptions
class TestContractVariableQuantity(odoo.tests.HttpCase):
def setUp(self):
super(TestContractVariableQuantity, self).setUp()
self.partner = self.env['res.partner'].create({
'name': 'Test partner',
})
self.product = self.env['product.product'].create({
'name': 'Test product',
})
self.contract = self.env['account.analytic.account'].create({
'name': 'Test Contract',
'partner_id': self.partner.id,
'pricelist_id': self.partner.property_product_pricelist.id,
'recurring_invoices': True,
})
self.formula = self.env['contract.line.qty.formula'].create({
'name': 'Test formula',
# For testing each of the possible variables
'code': 'env["res.users"]\n'
'context.get("lang")\n'
'user.id\n'
'line.qty_type\n'
'contract.id\n'
'invoice.id\n'
'result = 12',
})
self.contract_line = self.env['account.analytic.invoice.line'].create({
'contract_id': self.contract.id,
'product_id': self.product.id,
'name': 'Test',
'qty_type': 'variable',
'qty_formula_id': self.formula.id,
'quantity': 1,
'uom_id': self.product.uom_id.id,
'price_unit': 100,
'discount': 50,
'recurring_rule_type': 'monthly',
'recurring_interval': 1,
'date_start': '2016-02-15',
'recurring_next_date': '2016-02-29',
})
self.partner = self.env['res.partner'].create({'name': 'Test partner'})
self.product = self.env['product.product'].create(
{'name': 'Test product'}
)
self.contract = self.env['account.analytic.account'].create(
{
'name': 'Test Contract',
'partner_id': self.partner.id,
'pricelist_id': self.partner.property_product_pricelist.id,
'recurring_invoices': True,
}
)
self.formula = self.env['contract.line.qty.formula'].create(
{
'name': 'Test formula',
# For testing each of the possible variables
'code': 'env["res.users"]\n'
'context.get("lang")\n'
'user.id\n'
'line.qty_type\n'
'contract.id\n'
'quantity\n'
'period_first_date\n'
'period_last_date\n'
'invoice_date\n'
'result = 12',
}
)
self.contract_line = self.env['account.analytic.invoice.line'].create(
{
'contract_id': self.contract.id,
'product_id': self.product.id,
'name': 'Test',
'qty_type': 'variable',
'qty_formula_id': self.formula.id,
'quantity': 1,
'uom_id': self.product.uom_id.id,
'price_unit': 100,
'discount': 50,
'recurring_rule_type': 'monthly',
'recurring_interval': 1,
'date_start': '2016-02-15',
'recurring_next_date': '2016-02-29',
}
)
def test_check_invalid_code(self):
with self.assertRaises(exceptions.ValidationError):