summaryrefslogtreecommitdiff
path: root/odoo/addons/test_main_flows
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
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')
-rw-r--r--odoo/addons/test_main_flows/static/tests/tours/main_flow.js10
-rw-r--r--odoo/addons/test_main_flows/tests/test_flow.py79
2 files changed, 81 insertions, 8 deletions
diff --git a/odoo/addons/test_main_flows/static/tests/tours/main_flow.js b/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
index 4b49c9e7e08..272e98c5f54 100644
--- a/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
+++ b/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
@@ -666,12 +666,6 @@ tour.register('main_flow_tour', {
content: _t("Register Payment"),
position: "bottom",
}, {
- trigger: "select.o_field_widget[name=journal_id]",
- extra_trigger: ".modal-dialog",
- content: _t("Select Journal"),
- position: "bottom",
- run: 'text(Bank (USD))',
-}, {
trigger: ".modal-footer .btn-primary",
content: _t("Validate"),
position: "bottom",
@@ -732,7 +726,7 @@ tour.register('main_flow_tour', {
trigger: ".o_selected_row .o_field_widget[name=amount] input",
content: _t("Write the amount received."),
position: "bottom",
- run: "text 12.65",
+ run: "text 11.00",
}, {
edition: "enterprise",
trigger: ".o_selected_row .o_field_widget[name=partner_id] input",
@@ -762,7 +756,7 @@ tour.register('main_flow_tour', {
position: "bottom",
}, {
edition: "enterprise",
- trigger: "button.o_reconcile",
+ trigger: "button.o_reconcile, button.o_validate",
content: _t('<p><b>Click on Reconcile</p>'),
position: "right",
}, {
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)