diff options
| author | Odoo's Mergebot <xmo+roboto@odoo.com> | 2019-11-07 08:37:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-07 08:37:12 +0100 |
| commit | cfc65bd1b72b6fb7833f67fa580fa9fdac28b1f5 (patch) | |
| tree | c1aa353aa7e29d0ed918911dbdce456ed957b72e /odoo/addons/test_new_api/views | |
| parent | a3f5afdd53f5f0d8d76427fe14dce6f02e064a75 (diff) | |
| parent | bc8fe668495a1d080ff883d5e61e961a128669de (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_new_api/views')
| -rw-r--r-- | odoo/addons/test_new_api/views/test_new_api_templates.xml | 10 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/views/test_new_api_views.xml | 300 |
2 files changed, 310 insertions, 0 deletions
diff --git a/odoo/addons/test_new_api/views/test_new_api_templates.xml b/odoo/addons/test_new_api/views/test_new_api_templates.xml new file mode 100644 index 00000000000..8bd75bceab5 --- /dev/null +++ b/odoo/addons/test_new_api/views/test_new_api_templates.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <template id="assets_tests" name="Test New Api Assets Tests" inherit_id="web.assets_tests"> + <xpath expr="." position="inside"> + <script type="text/javascript" src="/test_new_api/static/tests/tours/constraint.js"></script> + <script type="text/javascript" src="/test_new_api/static/tests/tours/x2many.js"></script> + </xpath> + </template> +</odoo> + diff --git a/odoo/addons/test_new_api/views/test_new_api_views.xml b/odoo/addons/test_new_api/views/test_new_api_views.xml new file mode 100644 index 00000000000..830210c4d87 --- /dev/null +++ b/odoo/addons/test_new_api/views/test_new_api_views.xml @@ -0,0 +1,300 @@ +<odoo> + <data> + <menuitem id="menu_main" name="Discussions" sequence="20" parent="base.menu_tests"/> + + <menuitem id="menu_sub" name="Discussions" parent="menu_main" sequence="10"/> + + <record id="action_discussions" model="ir.actions.act_window"> + <field name="name">Discussions</field> + <field name="res_model">test_new_api.discussion</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem id="menu_discussions" action="action_discussions" parent="menu_sub" sequence="10"/> + + <record id="action_messages" model="ir.actions.act_window"> + <field name="name">Messages</field> + <field name="res_model">test_new_api.message</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem id="menu_messages" action="action_messages" parent="menu_sub" sequence="20"/> + + <record id="action_multi" model="ir.actions.act_window"> + <field name="name">Multi</field> + <field name="res_model">test_new_api.multi</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem id="menu_multi" action="action_multi" parent="menu_sub"/> + + <menuitem id="menu_config" name="Configuration" parent="menu_main" sequence="20"/> + + <record id="action_categories" model="ir.actions.act_window"> + <field name="name">Categories</field> + <field name="res_model">test_new_api.category</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem id="menu_categories" action="action_categories" parent="menu_config"/> + + <!-- Discussion form view --> + <record id="discussion_form" model="ir.ui.view"> + <field name="name">discussion form view</field> + <field name="model">test_new_api.discussion</field> + <field name="priority" eval="1"/> + <field name="arch" type="xml"> + <form string="Discussion"> + <sheet> + <group> + <field name="name"/> + <!-- + Bug if the view contains at least 5 fields. + The order of the dic values changes and the _check_author constraint raise. + <field name="categories" widget="many2many_tags" options="{'color_field': 'color'}"/> + --> + <field name="moderator"/> + </group> + <notebook> + <page string="Messages"> + <field name="messages"> + <tree string="Messages"> + <field name="name"/> + <field name="body"/> + <field name="important"/> + </tree> + <form string="Message"> + <group> + <field name="name"/> + <field name="author"/> + <field name="size"/> + <field name="important"/> + </group> + <label for="body"/> + <field name="body"/> + </form> + </field> + </page> + <page string="Emails"> + <field name="important_emails"> + <tree name="Important Messages"> + <field name="name"/> + <field name="body"/> + <field name="important"/> + <field name="email_to"/> + </tree> + <form string="Important Message"> + <group> + <field name="name"/> + <field name="author"/> + <field name="size"/> + <field name="important"/> + <field name="email_to"/> + </group> + <label for="body"/> + <field name="body"/> + </form> + </field> + </page> + <page string="Participants"> + <field name="participants"> + <tree string="Participants"> + <field name="display_name"/> + </tree> + </field> + </page> + </notebook> + <group> + <field name="message_concat"/> + </group> + </sheet> + </form> + </field> + </record> + + <!-- Discussion form view with editable list --> + <record id="discussion_form_2" model="ir.ui.view"> + <field name="name">discussion form view</field> + <field name="model">test_new_api.discussion</field> + <field name="priority" eval="10"/> + <field name="arch" type="xml"> + <form string="Discussion"> + <sheet> + <group> + <field name="name"/> + <field name="categories" widget="many2many_tags" options="{'color_field': 'color'}"/> + </group> + <notebook> + <page string="Messages"> + <field name="messages"> + <tree name="Messages" editable="bottom"> + <field name="name"/> + <field name="author"/> + <field name="body" required="1"/> + <field name="size"/> + </tree> + </field> + </page> + <page string="Participants"> + <field name="participants"/> + </page> + </notebook> + <group> + <field name="message_concat"/> + </group> + </sheet> + </form> + </field> + </record> + + <record id="action_discussions_2" model="ir.actions.act_window"> + <field name="name">Discussions 2</field> + <field name="res_model">test_new_api.discussion</field> + <field name="view_ids" eval="[(5,0,0), + (0,0,{'view_mode':'tree'}), + (0,0,{'view_mode':'form', 'view_id': ref('discussion_form_2')})]"/> + </record> + <menuitem id="menu_discussions_2" action="action_discussions_2" parent="menu_sub" sequence="10"/> + + <!-- Discussion form view with embedded list --> + <record id="discussion_form_3" model="ir.ui.view"> + <field name="name">discussion form view</field> + <field name="model">test_new_api.discussion</field> + <field name="priority" eval="11"/> + <field name="arch" type="xml"> + <form string="Discussion"> + <sheet> + <group> + <field name="name" context="{'generate_dummy_message': True}"/> + </group> + <group> + <field name="messages" /> + <field name="important_messages"> + <tree string="Important messages"> + <field name="name"/> + <field name="author"/> + <field name="size"/> + </tree> + </field> + </group> + </sheet> + </form> + </field> + </record> + + <record id="action_discussions_3" model="ir.actions.act_window"> + <field name="name">Discussions 3</field> + <field name="res_model">test_new_api.discussion</field> + <field name="view_ids" eval="[(5,0,0), + (0,0,{'view_mode':'tree'}), + (0,0,{'view_mode':'form', 'view_id': ref('discussion_form_3')})]"/> + </record> + <menuitem id="menu_discussions_3" action="action_discussions_3" parent="menu_sub" sequence="11"/> + + + <!-- Message tree view --> + <record id="message_tree" model="ir.ui.view"> + <field name="name">message tree view</field> + <field name="model">test_new_api.message</field> + <field name="arch" type="xml"> + <tree string="Messages"> + <field name="name"/> + <field name="author"/> + <field name="size"/> + <field name="important"/> + </tree> + </field> + </record> + + <!-- Message form view --> + <record id="message_form" model="ir.ui.view"> + <field name="name">message form view</field> + <field name="model">test_new_api.message</field> + <field name="arch" type="xml"> + <form string="Message"> + <sheet> + <group> + <field name="discussion"/> + <field name="name"/> + <field name="author"/> + <field name="size"/> + </group> + <label for="body"/> + <field name="body"/> + </sheet> + </form> + </field> + </record> + + <!-- Category tree view --> + <record id="category_tree" model="ir.ui.view"> + <field name="name">category tree view</field> + <field name="model">test_new_api.category</field> + <field name="arch" type="xml"> + <tree string="Categories"> + <field name="display_name"/> + </tree> + </field> + </record> + + <!-- Category form view --> + <record id="category_form" model="ir.ui.view"> + <field name="name">category form view</field> + <field name="model">test_new_api.category</field> + <field name="arch" type="xml"> + <form string="Category"> + <sheet> + <group> + <field name="name"/> + <field name="parent"/> + <field name="root_categ"/> + <field name="dummy"/> + <field name="color"/> + </group> + </sheet> + </form> + </field> + </record> + + <!-- Multi tree view --> + <record id="multi_tree" model="ir.ui.view"> + <field name="name">multi tree view</field> + <field name="model">test_new_api.multi</field> + <field name="arch" type="xml"> + <tree string="Multi"> + <field name="name"/> + </tree> + </field> + </record> + + <!-- Multi form view --> + <record id="multi_form" model="ir.ui.view"> + <field name="name">multi form view</field> + <field name="model">test_new_api.multi</field> + <field name="arch" type="xml"> + <form string="Multi"> + <sheet> + <group> + <field name="name"/> + <field name="partner"/> + </group> + <label for="lines"/> + <field name="lines"> + <tree string="Lines"> + <field name="name"/> + <field name="partner"/> + </tree> + <form string="Lines"> + <group> + <field name="name"/> + <field name="partner"/> + </group> + <field name="tags"> + <tree string="Tags" editable="1"> + <field name="name"/> + </tree> + </field> + </form> + </field> + </sheet> + </form> + </field> + </record> + </data> +</odoo> |
