flectra/addons/account/tests/test_account_branch.py

92 lines
3.9 KiB
Python
Raw Permalink Normal View History

2018-01-17 11:23:19 +01:00
# -*- coding: utf-8 -*-
from flectra.addons.account.tests.account_test_classes import AccountingTestCase
class TestAccountBranch(AccountingTestCase):
def setUp(self):
super(TestAccountBranch, self).setUp()
self.apple_product = self.env.ref('product.product_product_7')
self.keyboard_product = self.env.ref('product.product_product_9')
self.ipod_product = self.env.ref('product.product_product_11')
self.asset_account = self.env.ref('l10n_generic_coa.conf_stk')
self.model_account_journal = self.env['account.journal']
self.model_account = self.env['account.account']
self.main_company = self.env.ref('base.main_company')
self.manager_group = self.env.ref('account.group_account_manager')
self.model_user = self.env['res.users']
self.model_account_invoice = self.env['account.invoice']
self.account_partner = self.env.ref('base.res_partner_1')
self.branch_1 = self.env.ref('base_branch_company.data_branch_1')
self.branch_2 = self.env.ref('base_branch_company.data_branch_2')
self.branch_3 = self.env.ref('base_branch_company.data_branch_3')
user_type = self.env.ref('account.data_account_type_liquidity')
self.account_type = self.env.ref('account.data_account_type_expenses')
self.user_id = self.model_user.with_context(
{'no_reset_password': True}).create({
'company_id': self.main_company.id,
'branch_ids': [(4, self.branch_2.id), (4, self.branch_3.id)],
'company_ids': [(4, self.main_company.id)],
'groups_id': [(6, 0, [self.manager_group.id])],
'name': 'Test User 1',
'email': 'demo@yourcompany.com',
'password': '123',
'login': 'tes_user_1',
})
self.user_2 = self.model_user.with_context({
'no_reset_password': True}).create({
'company_id': self.main_company.id,
'branch_ids': [(4, self.branch_3.id)],
'company_ids': [(4, self.main_company.id)],
'groups_id': [(6, 0, [self.manager_group.id])],
'name': 'Test User',
'email': 'demo@yourcompany.com',
'password': '123',
'login': 'test_user_2',
})
self.cash_account = self.model_account.create({
'company_id': self.main_company.id,
'user_type_id': user_type.id,
'code': 'cash_test',
'name': 'Test Cash Account',
})
self.cash_journal = self.model_account_journal.create({
'company_id': self.main_company.id,
'branch_id': self.branch_1.id,
'name': 'Cash Journal - Branch 1',
'default_credit_account_id': self.cash_account.id,
'default_debit_account_id': self.cash_account.id,
'type': 'cash',
'code': 'cash_branch_1',
})
def invoice_values(self, branch_id):
products = [(self.apple_product, 1000),
(self.keyboard_product, 500),
(self.ipod_product, 800)]
lines_data = []
account_id = self.model_account.search([
('user_type_id', '=', self.account_type.id)], limit=1).id
for product_id, quantity in products:
values = {
'product_id': product_id.id,
'name': product_id.name,
'price_unit': 120,
'quantity': quantity,
'account_id': account_id
}
lines_data.append((0, 0, values))
vals = {
'partner_id': self.account_partner.id,
'type': 'in_invoice',
'name': "Supplier Invoice",
# 'reference_type': "none",
'account_id': self.account_partner.property_account_payable_id.id,
'invoice_line_ids': lines_data,
'branch_id': branch_id,
}
return vals