107 lines
3.9 KiB
Python
107 lines
3.9 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
from odoo import fields
|
||
|
from odoo.addons.mail.tests.common import mail_new_test_user
|
||
|
from odoo.tests import common
|
||
|
|
||
|
|
||
|
class EventCase(common.TransactionCase):
|
||
|
|
||
|
@classmethod
|
||
|
def setUpClass(cls):
|
||
|
super(EventCase, cls).setUpClass()
|
||
|
|
||
|
cls.admin_user = cls.env.ref('base.user_admin')
|
||
|
cls.admin_user.write({
|
||
|
'country_id': cls.env.ref('base.be').id,
|
||
|
'login': 'admin',
|
||
|
'notification_type': 'inbox',
|
||
|
})
|
||
|
cls.company_admin = cls.admin_user.company_id
|
||
|
# set country in order to format Belgian numbers
|
||
|
cls.company_admin.write({
|
||
|
'country_id': cls.env.ref('base.be').id,
|
||
|
})
|
||
|
|
||
|
# Test users to use through the various tests
|
||
|
cls.user_portal = mail_new_test_user(
|
||
|
cls.env,
|
||
|
company_id=cls.company_admin.id,
|
||
|
email='patrick.portal@test.example.com',
|
||
|
groups='base.group_portal',
|
||
|
login='portal_test',
|
||
|
name='Patrick Portal',
|
||
|
notification_type='email',
|
||
|
tz='Europe/Brussels',
|
||
|
)
|
||
|
cls.user_employee = mail_new_test_user(
|
||
|
cls.env,
|
||
|
company_id=cls.company_admin.id,
|
||
|
email='eglantine.employee@test.example.com',
|
||
|
groups='base.group_user',
|
||
|
login='user_employee',
|
||
|
name='Eglantine Employee',
|
||
|
notification_type='inbox',
|
||
|
tz='Europe/Brussels',
|
||
|
)
|
||
|
cls.user_eventregistrationdesk = mail_new_test_user(
|
||
|
cls.env,
|
||
|
company_id=cls.company_admin.id,
|
||
|
email='ursule.eventregistration@test.example.com',
|
||
|
login='user_eventregistrationdesk',
|
||
|
groups='base.group_user,event.group_event_registration_desk',
|
||
|
name='Ursule EventRegistration',
|
||
|
notification_type='inbox',
|
||
|
tz='Europe/Brussels',
|
||
|
)
|
||
|
cls.user_eventuser = mail_new_test_user(
|
||
|
cls.env,
|
||
|
company_id=cls.company_admin.id,
|
||
|
email='ursule.eventuser@test.example.com',
|
||
|
groups='base.group_user,event.group_event_user',
|
||
|
login='user_eventuser',
|
||
|
name='Ursule EventUser',
|
||
|
notification_type='inbox',
|
||
|
tz='Europe/Brussels',
|
||
|
)
|
||
|
cls.user_eventmanager = mail_new_test_user(
|
||
|
cls.env,
|
||
|
company_id=cls.company_admin.id,
|
||
|
email='martine.eventmanager@test.example.com',
|
||
|
groups='base.group_user,event.group_event_manager',
|
||
|
login='user_eventmanager',
|
||
|
name='Martine EventManager',
|
||
|
notification_type='inbox',
|
||
|
tz='Europe/Brussels',
|
||
|
)
|
||
|
|
||
|
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.reference_now = fields.Datetime.from_string('2022-09-05 15:11:34')
|
||
|
|
||
|
@classmethod
|
||
|
def _create_registrations(cls, event, reg_count):
|
||
|
# create some registrations
|
||
|
create_date = fields.Datetime.now()
|
||
|
registrations = cls.env['event.registration'].create([{
|
||
|
'create_date': create_date,
|
||
|
'event_id': event.id,
|
||
|
'name': f'Test Registration {idx}',
|
||
|
'email': f'_test_reg_{idx}@example.com',
|
||
|
'phone': f'04560000{idx}{idx}',
|
||
|
} for idx in range(0, reg_count)])
|
||
|
return registrations
|