summaryrefslogtreecommitdiff
path: root/odoo/addons/test_main_flows/tests
diff options
context:
space:
mode:
authorOdoo's Mergebot <xmo+roboto@odoo.com>2019-11-07 08:37:12 +0100
committerGitHub <noreply@github.com>2019-11-07 08:37:12 +0100
commitcfc65bd1b72b6fb7833f67fa580fa9fdac28b1f5 (patch)
treec1aa353aa7e29d0ed918911dbdce456ed957b72e /odoo/addons/test_main_flows/tests
parenta3f5afdd53f5f0d8d76427fe14dce6f02e064a75 (diff)
parentbc8fe668495a1d080ff883d5e61e961a128669de (diff)
[MERGE] various: Make the test suite demo data independant
Purpose ======= This is the first huge step to improve the test suite in several ways: - Make them demo data independent, allowing to modify the demo data without having to adapt the tests depending on it. It also allows to have a beautiful + convenient demo dataset to make a demonstration, and to configure complex data in the tests to manage the corner cases. - Improve the test performances by converting them into SavepointCase. Each test will be rollbacked to it's initial state, after the setUpClass call. That way the different data are not re-created at each test for nothing. - Introduce several test classes in base/tests/common.py to launch a TransactionCase, HttpCase or SavepointCase test with an available demo user, portal user or a large set of partners. - This is the first step to tend to a rolling release process, allowing to execute the tests (or a subset of the tests) on a migrated base, for example. closes odoo/odoo#39868 Taskid: 2075739 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'odoo/addons/test_main_flows/tests')
-rw-r--r--odoo/addons/test_main_flows/tests/test_flow.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/odoo/addons/test_main_flows/tests/test_flow.py b/odoo/addons/test_main_flows/tests/test_flow.py
index c412b031339..fe86f8187c6 100644
--- a/odoo/addons/test_main_flows/tests/test_flow.py
+++ b/odoo/addons/test_main_flows/tests/test_flow.py
@@ -7,4 +7,83 @@ import odoo.tests
class TestUi(odoo.tests.HttpCase):
def test_01_main_flow_tour(self):
+ # Define minimal accounting data to run without CoA
+ a_expense = self.env['account.account'].create({
+ 'code': 'X2120',
+ 'name': 'Expenses - (test)',
+ 'user_type_id': self.env.ref('account.data_account_type_expenses').id,
+ })
+ a_recv = self.env['account.account'].create({
+ 'code': 'X1012',
+ 'name': 'Debtors - (test)',
+ 'reconcile': True,
+ 'user_type_id': self.env.ref('account.data_account_type_receivable').id,
+ })
+ a_pay = self.env['account.account'].create({
+ 'code': 'X1111',
+ 'name': 'Creditors - (test)',
+ 'user_type_id': self.env.ref('account.data_account_type_payable').id,
+ 'reconcile': True,
+ })
+ a_sale = self.env['account.account'].create({
+ 'code': 'X2020',
+ 'name': 'Product Sales - (test)',
+ 'user_type_id': self.env.ref('account.data_account_type_revenue').id,
+ })
+ bnk = self.env['account.account'].create({
+ 'code': 'X1014',
+ 'name': 'Bank Current Account - (test)',
+ 'user_type_id': self.env.ref('account.data_account_type_liquidity').id,
+ })
+
+ self.env['ir.property'].create([{
+ 'name': 'property_account_receivable_id',
+ 'fields_id': self.env['ir.model.fields'].search([('model', '=', 'res.partner'), ('name', '=', 'property_account_receivable_id')], limit=1).id,
+ 'value': 'account.account,%s' % (a_recv.id),
+ 'company_id': self.env.company.id,
+ }, {
+ 'name': 'property_account_payable_id',
+ 'fields_id': self.env['ir.model.fields'].search([('model', '=', 'res.partner'), ('name', '=', 'property_account_payable_id')], limit=1).id,
+ 'value': 'account.account,%s' % (a_pay.id),
+ 'company_id': self.env.company.id,
+ }, {
+ 'name': 'property_account_position_id',
+ 'fields_id': self.env['ir.model.fields'].search([('model', '=', 'res.partner'), ('name', '=', 'property_account_position_id')], limit=1).id,
+ 'value': False,
+ 'company_id': self.env.company.id,
+ }, {
+ 'name': 'property_account_expense_categ_id',
+ 'fields_id': self.env['ir.model.fields'].search([('model', '=', 'product.category'), ('name', '=', 'property_account_expense_categ_id')], limit=1).id,
+ 'value': 'account.account,%s' % (a_expense.id),
+ 'company_id': self.env.company.id,
+ }, {
+ 'name': 'property_account_income_categ_id',
+ 'fields_id': self.env['ir.model.fields'].search([('model', '=', 'product.category'), ('name', '=', 'property_account_income_categ_id')], limit=1).id,
+ 'value': 'account.account,%s' % (a_sale.id),
+ 'company_id': self.env.company.id,
+ }])
+ self.expenses_journal = self.env['account.journal'].create({
+ 'name': 'Vendor Bills - Test',
+ 'code': 'TEXJ',
+ 'type': 'purchase',
+ 'default_credit_account_id': a_expense.id,
+ 'default_debit_account_id': a_expense.id,
+ 'refund_sequence': True,
+ })
+ self.bank_journal = self.env['account.journal'].create({
+ 'name': 'Bank - Test',
+ 'code': 'TBNK',
+ 'type': 'bank',
+ 'default_credit_account_id': bnk.id,
+ 'default_debit_account_id': bnk.id,
+ })
+ self.sales_journal = self.env['account.journal'].create({
+ 'name': 'Customer Invoices - Test',
+ 'code': 'TINV',
+ 'type': 'sale',
+ 'default_credit_account_id': a_sale.id,
+ 'default_debit_account_id': a_sale.id,
+ 'refund_sequence': True,
+ })
+
self.start_tour("/web", 'main_flow_tour', login="admin", timeout=180)