diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/event/tests/common.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/event/tests/common.py')
| -rw-r--r-- | addons/event/tests/common.py | 107 |
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 |
