summaryrefslogtreecommitdiff
path: root/addons/website_event/tests
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2020-07-08 10:50:47 +0000
committerThibault Delavallée <tde@odoo.com>2020-07-23 09:55:02 +0000
commitcbee702ba4f3efa8fe794c8e2416e6584564ff0b (patch)
tree80512023758443be8ac373a2a67b36db3bc9d90a /addons/website_event/tests
parent1db746419f566a6299aaead8f0f8b6bb279732e2 (diff)
[REF] website_event(_track): improve tests and test classes
RATIONALE Even will soon gain a major update called Event Online, allowing to better support full-online events. In order to prepare its merge, preparatory merge are done to lessen the final diff., ... SPECIFICATIONS Improve website_event and website_event_track test coding style, notably * use specific users when performing tests to trigger access rights issues (this notably allowed to find an issue with event groups not allowed to update menus); * define common classes; LINKS PR #54801 Task ID 2304817 (Event Preparation 3) Prepares Task ID 2252655 (Main Online Event task) Prepares Task ID 2283796 (Event B2Basics) X-original-commit: 774211c7e4667c5350ac090510e72c106f2d10b6
Diffstat (limited to 'addons/website_event/tests')
-rw-r--r--addons/website_event/tests/__init__.py4
-rw-r--r--addons/website_event/tests/common.py17
-rw-r--r--addons/website_event/tests/test_event_internals.py28
-rw-r--r--addons/website_event/tests/test_event_website.py47
-rw-r--r--addons/website_event/tests/test_website_event.py13
5 files changed, 61 insertions, 48 deletions
diff --git a/addons/website_event/tests/__init__.py b/addons/website_event/tests/__init__.py
index 8db62f8ae97..6986da4eab7 100644
--- a/addons/website_event/tests/__init__.py
+++ b/addons/website_event/tests/__init__.py
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from . import common
+from . import test_event_internals
from . import test_ui
-from . import test_event_website
+from . import test_website_event
diff --git a/addons/website_event/tests/common.py b/addons/website_event/tests/common.py
new file mode 100644
index 00000000000..b4bd532ab04
--- /dev/null
+++ b/addons/website_event/tests/common.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.event.tests.common import TestEventCommon
+
+
+class TestWebsiteEventCommon(TestEventCommon):
+
+ def _get_menus(self):
+ return set(['Introduction', 'Location', 'Register'])
+
+ def _assert_website_menus(self, event):
+ self.assertTrue(event.menu_id)
+
+ menus = self.env['website.menu'].search([('parent_id', '=', event.menu_id.id)])
+ self.assertEqual(len(menus), len(self._get_menus()))
+ self.assertEqual(set(menus.mapped('name')), self._get_menus())
diff --git a/addons/website_event/tests/test_event_internals.py b/addons/website_event/tests/test_event_internals.py
new file mode 100644
index 00000000000..83ff4901df8
--- /dev/null
+++ b/addons/website_event/tests/test_event_internals.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from datetime import datetime, timedelta
+
+from odoo import fields
+from odoo.addons.website_event.tests.common import TestWebsiteEventCommon
+from odoo.tests.common import users
+
+
+class TestEventWebsite(TestWebsiteEventCommon):
+
+ @users('user_eventmanager')
+ def test_menu_create(self):
+ event = self.env['event.event'].create({
+ 'name': 'TestEvent',
+ 'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
+ 'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
+ 'website_menu': True,
+ })
+ self._assert_website_menus(event)
+
+ @users('user_eventmanager')
+ def test_menu_update(self):
+ event = self.env['event.event'].browse(self.event_0.id)
+ self.assertFalse(event.menu_id)
+ event.website_menu = True
+ self._assert_website_menus(event)
diff --git a/addons/website_event/tests/test_event_website.py b/addons/website_event/tests/test_event_website.py
deleted file mode 100644
index cc8098bd75f..00000000000
--- a/addons/website_event/tests/test_event_website.py
+++ /dev/null
@@ -1,47 +0,0 @@
-from datetime import datetime, timedelta
-
-from odoo import fields
-from odoo.addons.event.tests.common import TestEventCommon
-from odoo.addons.website.tests.test_base_url import TestUrlCommon
-import odoo.tests
-
-
-class TestEventWebsiteHelper(TestEventCommon):
- def _get_menus(self):
- return set(['Introduction', 'Location', 'Register'])
-
- def _assert_website_menus(self, event):
- self.assertTrue(event.menu_id)
-
- menus = self.env['website.menu'].search([('parent_id', '=', event.menu_id.id)])
- self.assertEqual(len(menus), len(self._get_menus()))
- self.assertEqual(set(menus.mapped('name')), self._get_menus())
-
-
-class TestEventWebsite(TestEventWebsiteHelper):
-
- def test_create_menu0(self):
- event = self.env['event.event'].create({
- 'name': 'TestEvent',
- 'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
- 'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
- 'registration_ids': [(0, 0, {
- 'partner_id': self.user_eventuser.partner_id.id,
- 'name': 'test_reg',
- })],
- 'website_menu': True,
- })
-
- self._assert_website_menus(event)
-
- def test_write_menu0(self):
- self.assertFalse(self.event_0.menu_id)
- self.event_0.website_menu = True
- self._assert_website_menus(self.event_0)
-
-
-@odoo.tests.tagged('-at_install', 'post_install')
-class TestUrlCanonical(TestUrlCommon):
- def test_01_canonical_url(self):
- self._assertCanonical('/event?date=all', self.domain + '/event')
- self._assertCanonical('/event?date=old', self.domain + '/event?date=old')
diff --git a/addons/website_event/tests/test_website_event.py b/addons/website_event/tests/test_website_event.py
new file mode 100644
index 00000000000..54e657d2c9f
--- /dev/null
+++ b/addons/website_event/tests/test_website_event.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.website.tests.test_base_url import TestUrlCommon
+from odoo.tests import tagged
+
+
+@tagged('-at_install', 'post_install')
+class TestUrlCanonical(TestUrlCommon):
+
+ def test_01_canonical_url(self):
+ self._assertCanonical('/event?date=all', self.domain + '/event')
+ self._assertCanonical('/event?date=old', self.domain + '/event?date=old')