From e690d812a42e50cb36969d77b8c561e166b5a4e2 Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Fri, 23 Sep 2022 10:52:29 +0000 Subject: [PATCH] [FIX] test_event_full: add missing steps The test was running by luck because the event and all talk pages contains the needed elements. The favorite was checked randomly on other pages because those steps are way faster than loading the page. This test will fail in rare case if the page loads faster and the step checking if the "favorite is on" occurs when the talk page is finaly loaded. This commit adds some step to try to ensure the page are loaded before doing anything else. Also enable ticks on freezetime so that we have an idea of the steps durations in logs for easier investigation. X-original-commit: 8405104b14624f27df4d95e21738b253d048063f Part-of: odoo/odoo#101050 --- .../static/src/js/tours/wevent_register_tour.js | 14 ++++++++++++++ .../test_event_full/tests/test_wevent_register.py | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/addons/test_event_full/static/src/js/tours/wevent_register_tour.js b/addons/test_event_full/static/src/js/tours/wevent_register_tour.js index c7ee4b4cd50..42996a1c6d4 100644 --- a/addons/test_event_full/static/src/js/tours/wevent_register_tour.js +++ b/addons/test_event_full/static/src/js/tours/wevent_register_tour.js @@ -22,6 +22,12 @@ var discoverTalkSteps = function (talkName, fromList, reminderOn, toggleReminder run: 'click', }]; } + steps = steps.concat([{ + content: `Check we are on the "${talkName}" talk page`, + trigger: 'div.o_wesession_track_main', + run: function () {}, // it's a check + }]); + if (reminderOn) { steps = steps.concat([{ content: "Check Favorite is on", @@ -132,11 +138,19 @@ var initTourSteps = function (eventName) { var browseTalksSteps = [{ content: 'Browse Talks', trigger: 'a:contains("Talks")', +}, { + content: 'Check we are on the talk list page', + trigger: 'h1:contains("Book your talks")', + run: function () {} // check }]; var browseMeetSteps = [{ content: 'Browse Meet', trigger: 'a:contains("Community")', +}, { + content: 'Check we are on the community page', + trigger: 'span:contains("Join a room")', + run: function () {} // check }]; diff --git a/addons/test_event_full/tests/test_wevent_register.py b/addons/test_event_full/tests/test_wevent_register.py index 21861369dcf..cc38388b633 100644 --- a/addons/test_event_full/tests/test_wevent_register.py +++ b/addons/test_event_full/tests/test_wevent_register.py @@ -11,7 +11,7 @@ from odoo.addons.test_event_full.tests.common import TestWEventCommon class TestWEventRegister(TestWEventCommon): def test_register(self): - with freeze_time(self.reference_now): + with freeze_time(self.reference_now, tick=True): self.browser_js( '/event', 'odoo.__DEBUG__.services["web_tour.tour"].run("wevent_register")',