From 836efa8363c558e9ecde226a687e435e10beabcd Mon Sep 17 00:00:00 2001 From: KolushovAlexandr Date: Sat, 29 Dec 2018 16:11:50 +0500 Subject: [PATCH] :shield: mail_private tests --- mail_private/__manifest__.py | 2 +- mail_private/full_composer_wizard.xml | 2 - mail_private/static/src/js/test_private.js | 48 ++++++++++++++++++++++ mail_private/template.xml | 3 ++ mail_private/tests/__init__.py | 4 ++ mail_private/tests/test_js.py | 26 ++++++++++++ 6 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 mail_private/static/src/js/test_private.js create mode 100644 mail_private/tests/__init__.py create mode 100644 mail_private/tests/test_js.py diff --git a/mail_private/__manifest__.py b/mail_private/__manifest__.py index c483f50..6c0e421 100644 --- a/mail_private/__manifest__.py +++ b/mail_private/__manifest__.py @@ -4,7 +4,7 @@ "summary": """Send private messages to specified recipients, regardless of who are in followers list.""", "category": "Discuss", "images": ['images/mail_private_image.png'], - "version": "1.0.1", + "version": "10.0.1.0.1", "application": False, "author": "IT-Projects LLC, Pavel Romanchenko", diff --git a/mail_private/full_composer_wizard.xml b/mail_private/full_composer_wizard.xml index 7bb5471..9f57a20 100644 --- a/mail_private/full_composer_wizard.xml +++ b/mail_private/full_composer_wizard.xml @@ -1,6 +1,5 @@ - mail.compose.message.form.private @@ -23,5 +22,4 @@ - diff --git a/mail_private/static/src/js/test_private.js b/mail_private/static/src/js/test_private.js new file mode 100644 index 0000000..8b9886e --- /dev/null +++ b/mail_private/static/src/js/test_private.js @@ -0,0 +1,48 @@ +/* Copyright 2018 Kolushov Alexandr + License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).*/ +odoo.define('mail_private.tour', function (require) { + "use strict"; + + var tour = require("web_tour.tour"); + var core = require('web.core'); + var _t = core._t; + + var email = 'You Are Whalecum'; + var steps = [{ + trigger: '.o_thread_message strong.o_mail_redirect:contains("Agrolait")', + content: _t("Open Partners Form"), + position: 'bottom', + }, { + trigger: "button.oe_compose_post_private", + content: _t("Click on Private mail creating button"), + position: "bottom" + }, { + // for some reason (due to tricky renderings) button.oe_composer_uncheck could not be find by the tour manager + trigger: ".o_control_panel.o_breadcrumb_full li.active", + content: _t("Dummy action"), + }, { + trigger: "button.oe_composer_uncheck", + extra_trigger: "button.oe_composer_uncheck", + content: _t("Uncheck all Followers"), + timeout: 22000, + }, { + trigger: "div.o_composer_suggested_partners input:first", + content: _t("Check the first one"), + }, { + trigger: "textarea.o_composer_text_field:first", + content: _t("Write some email"), + run: function() { + $('textarea.o_composer_text_field:first').val(email); + }, + }, { + trigger: ".o_composer_buttons .o_composer_button_send", + content: _t("Send email"), + }, { + trigger: ".o_mail_thread .o_thread_message:contains(" + email + ")", + content: _t("Send email"), + } + ]; + + tour.register('mail_private_tour', { test: true, url: '/web' }, steps); + +}); diff --git a/mail_private/template.xml b/mail_private/template.xml index 534e53c..4da60c7 100644 --- a/mail_private/template.xml +++ b/mail_private/template.xml @@ -9,6 +9,9 @@ + diff --git a/mail_private/tests/__init__.py b/mail_private/tests/__init__.py new file mode 100644 index 0000000..4f6aa47 --- /dev/null +++ b/mail_private/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from . import test_js diff --git a/mail_private/tests/test_js.py b/mail_private/tests/test_js.py new file mode 100644 index 0000000..b7dc70e --- /dev/null +++ b/mail_private/tests/test_js.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# 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_01_mail_private(self): + # 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. + cr = self.registry.cursor() + env = Environment(cr, self.uid, {}) + env['ir.module.module'].search([('name', '=', 'mail_private')], limit=1).state = 'installed' + cr.release() + + self.phantom_js("/web", + "odoo.__DEBUG__.services['web_tour.tour'].run('mail_private_tour', 1000)", + "odoo.__DEBUG__.services['web_tour.tour'].tours.mail_private_tour.ready", + login="admin", timeout=70)