summaryrefslogtreecommitdiff
path: root/addons/event/tests/common.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/event/tests/common.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/event/tests/common.py')
-rw-r--r--addons/event/tests/common.py107
1 files changed, 107 insertions, 0 deletions
diff --git a/addons/event/tests/common.py b/addons/event/tests/common.py
new file mode 100644
index 00000000..f89f4864
--- /dev/null
+++ b/addons/event/tests/common.py
@@ -0,0 +1,107 @@
+# -*- 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.mail.tests.common import mail_new_test_user
+from odoo.tests import common
+
+
+class TestEventCommon(common.SavepointCase):
+
+ @classmethod
+ def setUpClass(cls):
+ super(TestEventCommon, cls).setUpClass()
+
+ # Test users to use through the various tests
+ cls.user_portal = mail_new_test_user(
+ cls.env, login='portal_test',
+ name='Patrick Portal', email='patrick.portal@test.example.com',
+ notification_type='email', company_id=cls.env.ref("base.main_company").id,
+ groups='base.group_portal')
+ cls.user_employee = mail_new_test_user(
+ cls.env, login='user_employee',
+ name='Eglantine Employee', email='eglantine.employee@test.example.com',
+ tz='Europe/Brussels', notification_type='inbox',
+ company_id=cls.env.ref("base.main_company").id,
+ groups='base.group_user',
+ )
+ cls.user_eventuser = mail_new_test_user(
+ cls.env, login='user_eventuser',
+ name='Ursule EventUser', email='ursule.eventuser@test.example.com',
+ tz='Europe/Brussels', notification_type='inbox',
+ company_id=cls.env.ref("base.main_company").id,
+ groups='base.group_user,event.group_event_user',
+ )
+ cls.user_eventmanager = mail_new_test_user(
+ cls.env, login='user_eventmanager',
+ name='Martine EventManager', email='martine.eventmanager@test.example.com',
+ tz='Europe/Brussels', notification_type='inbox',
+ company_id=cls.env.ref("base.main_company").id,
+ groups='base.group_user,event.group_event_manager',
+ )
+
+ cls.event_customer = cls.env['res.partner'].create({
+ 'name': 'Constantin Customer',
+ 'email': 'constantin@test.example.com',
+ 'country_id': cls.env.ref('base.be').id,
+ 'phone': '0485112233',
+ 'mobile': False,
+ })
+ cls.event_customer2 = cls.env['res.partner'].create({
+ 'name': 'Constantin Customer 2',
+ 'email': 'constantin2@test.example.com',
+ 'country_id': cls.env.ref('base.be').id,
+ 'phone': '0456987654',
+ 'mobile': '0456654321',
+ })
+
+ cls.event_type_complex = cls.env['event.type'].create({
+ 'name': 'Update Type',
+ 'auto_confirm': True,
+ 'has_seats_limitation': True,
+ 'seats_max': 30,
+ 'use_timezone': True,
+ 'default_timezone': 'Europe/Paris',
+ 'use_ticket': True,
+ 'event_type_ticket_ids': [(0, 0, {
+ 'name': 'First Ticket',
+ }), (0, 0, {
+ 'name': 'Second Ticket',
+ })
+ ],
+ 'use_mail_schedule': True,
+ 'event_type_mail_ids': [
+ (0, 0, { # right at subscription
+ 'interval_unit': 'now',
+ 'interval_type': 'after_sub',
+ 'template_id': cls.env['ir.model.data'].xmlid_to_res_id('event.event_subscription')}),
+ (0, 0, { # 1 days before event
+ 'interval_nbr': 1,
+ 'interval_unit': 'days',
+ 'interval_type': 'before_event',
+ 'template_id': cls.env['ir.model.data'].xmlid_to_res_id('event.event_reminder')}),
+ ],
+ })
+ cls.event_0 = cls.env['event.event'].create({
+ 'name': 'TestEvent',
+ 'auto_confirm': True,
+ 'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
+ 'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
+ 'date_tz': 'Europe/Brussels',
+ })
+
+ # set country in order to format Belgian numbers
+ cls.event_0.company_id.write({'country_id': cls.env.ref('base.be').id})
+
+ @classmethod
+ def _create_registrations(cls, event, reg_count):
+ # create some registrations
+ registrations = cls.env['event.registration'].create([{
+ 'event_id': event.id,
+ 'name': 'Test Registration %s' % x,
+ 'email': '_test_reg_%s@example.com' % x,
+ 'phone': '04560000%s%s' % (x, x),
+ } for x in range(0, reg_count)])
+ return registrations