configuration: add setting for product-categories

This commit is contained in:
Frederik Jaeckel 2025-01-10 15:01:40 +01:00
parent 1b440525ac
commit 5d68a2c2b4
6 changed files with 117 additions and 3 deletions

View file

@ -64,6 +64,48 @@ class DocumentTestCase(object):
fisc_year.save()
FiscalYear.create_period([fisc_year])
def prep_prodcat_category(self, company):
""" create product category
"""
pool = Pool()
ProdCat = pool.get('product.category')
Account = pool.get('account.account')
Tax = pool.get('account.tax')
# get accounts expense/revenue
acc_exp, acc_rev, acc_tax, = Account.search([
('name', 'in', ['Main Revenue', 'Main Expense', 'Main Tax'])
], order=[('name', 'ASC')])
self.assertEqual(acc_exp.name, 'Main Expense')
self.assertEqual(acc_rev.name, 'Main Revenue')
self.assertEqual(acc_tax.name, 'Main Tax')
# check tax
tax, = Tax.search([])
self.assertEqual(tax.name, '20% VAT')
self.assertEqual(tax.invoice_account.name, 'Main Tax')
self.assertEqual(tax.credit_note_account.name, 'Main Tax')
p_cat, = ProdCat.create([{
'name': 'Accounting',
'accounting': True,
'account_parent': False,
'account_expense': acc_exp.id,
'account_revenue': acc_rev.id,
'taxes_parent': False,
'customer_taxes': [('add', [tax.id])],
'supplier_taxes': [('add', [tax.id])],
}])
self.assertEqual(p_cat.name, 'Accounting')
self.assertEqual(p_cat.accounting, True)
self.assertEqual(p_cat.account_parent, False)
self.assertEqual(p_cat.taxes_parent, False)
self.assertEqual(p_cat.account_expense.name, 'Main Expense')
self.assertEqual(p_cat.account_revenue.name, 'Main Revenue')
self.assertEqual(p_cat.customer_taxes[0].name, '20% VAT')
self.assertEqual(p_cat.supplier_taxes[0].name, '20% VAT')
return p_cat
@with_transaction()
def test_xmldoc_import_facturx(self):
""" create incoming-document, load xml, detect type
@ -79,11 +121,16 @@ class DocumentTestCase(object):
create_chart(company=company, tax=True)
self.prep_fiscalyear(company)
config = Configuration()
product_category = self.prep_prodcat_category(company)
config = Configuration(
product_category=[product_category])
config.save()
self.assertEqual(config.create_supplier, True)
self.assertEqual(config.accept_other_company, False)
self.assertEqual(config.number_target, 'reference')
self.assertEqual(len(config.product_category), 1)
self.assertEqual(config.product_category[0].name, 'Accounting')
to_create = []
with open(os.path.join(