From 12868a97747ea5a94385f62f4d9869c7c8902e3b Mon Sep 17 00:00:00 2001 From: KolushovAlexandr Date: Fri, 3 Aug 2018 17:24:23 +0500 Subject: [PATCH] :shield: mail_move_message tests --- .../data/mail_move_message_data.xml | 6 +-- .../static/src/js/mail_move_message.js | 2 +- mail_move_message/tests/__init__.py | 3 ++ mail_move_message/tests/test_mail_move.py | 52 +++++++++++++++++++ 4 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 mail_move_message/tests/__init__.py create mode 100644 mail_move_message/tests/test_mail_move.py diff --git a/mail_move_message/data/mail_move_message_data.xml b/mail_move_message/data/mail_move_message_data.xml index 9131606..7a4ce39 100644 --- a/mail_move_message/data/mail_move_message_data.xml +++ b/mail_move_message/data/mail_move_message_data.xml @@ -3,11 +3,9 @@ # Copyright 2017 Ivan Yelizariev # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).--> - - + mail_relocation_models crm.lead,project.task - - + diff --git a/mail_move_message/static/src/js/mail_move_message.js b/mail_move_message/static/src/js/mail_move_message.js index 9538a99..f8487ba 100644 --- a/mail_move_message/static/src/js/mail_move_message.js +++ b/mail_move_message/static/src/js/mail_move_message.js @@ -47,7 +47,7 @@ odoo.define('mail_move_message.relocate', function (require) { view_type: 'form', views: [[false, 'form']], target: 'new', - context: {'default_message_id': message_id} + context: {'default_message_id': message_id}, }; this.do_action(action, { 'on_close': function(){} diff --git a/mail_move_message/tests/__init__.py b/mail_move_message/tests/__init__.py new file mode 100644 index 0000000..44c544d --- /dev/null +++ b/mail_move_message/tests/__init__.py @@ -0,0 +1,3 @@ +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). +from . import test_mail_move + diff --git a/mail_move_message/tests/test_mail_move.py b/mail_move_message/tests/test_mail_move.py new file mode 100644 index 0000000..014bb93 --- /dev/null +++ b/mail_move_message/tests/test_mail_move.py @@ -0,0 +1,52 @@ +# Copyright 2018 Kolushov Alexandr +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +import odoo.tests +from odoo.api import Environment + + +@odoo.tests.common.at_install(True) +@odoo.tests.common.post_install(True) +class TestUi(odoo.tests.HttpCase): + + def test_create_new_partner_and_move_message(self): + env = Environment(self.registry.test_cr, self.uid, {}) + # needed because tests are run before the module is marked as + # installed. In js web will only load qweb coming from modules + # that are returned by the backend in module_boot. Without + # this you end up with js, css but no qweb. + env['ir.module.module'].search([('name', '=', 'mail_move_message')], limit=1).state = 'installed' + self.registry.cursor().release() + + # updating models, to be able relocate messages to a partner at_install + config_parameters = self.env["ir.config_parameter"].sudo() + config_parameters.set_param("mail_relocation_models", "crm.lead,project.task,res.partner") + + code = """ + var delayed_button_click = function(delay, button){ + setTimeout(function(){ + if (button.length) { + return button.click(); + } + return console.log('error', 'There is no element with the next selector: ' + button.selector); + }, delay); + }; + var delay = 1000; + var message = $('.o_thread_message_core:contains("virginie")'); + var relocate = message.find('.o_thread_icons .fa-exchange'); + delayed_button_click(delay, relocate); + // form is opened + + var create_partner_button = $('button[special="quick_create"]'); + delayed_button_click(delay, create_partner_button); + // partner creation wizard is opened + + var save_button = $('.modal-content .btn-primary:contains("Save")'); + delayed_button_click(delay, save_button); + + var move_button = $('.btn-sm.oe_highlight:contains("Move")'); + delayed_button_click(delay, move_button); + console.log('ok') + """ + + self.phantom_js('/web', code, login="admin", ready="$('.o_thread_icons').length")