oca-ocb-sale/odoo-bringout-oca-ocb-website_event_sale/website_event_sale/tests/common.py
Ernad Husremovic 73afc09215 19.0 vanilla
2026-03-09 09:32:12 +01:00

91 lines
3.4 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import timedelta
from odoo.fields import Command, Datetime
from odoo.addons.website_sale.tests.common import WebsiteSaleCommon
class TestWebsiteEventSaleCommon(WebsiteSaleCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.env.company.country_id = cls.env.ref('base.us')
cls.currency_test = cls.env['res.currency'].create({
'name': 'eventX',
'rounding': 0.01,
'symbol': 'EX',
})
cls.env['res.currency.rate'].search([]).unlink()
cls.rate = cls.env['res.currency.rate'].create({
'company_id': cls.env.company.id,
'currency_id': cls.currency_test.id,
'name': '2022-01-01',
'rate': 10,
})
cls.zero_tax = cls.env['account.tax'].sudo().create({
'name': 'Tax 0',
'amount': 0,
'tax_group_id': cls.env['account.tax.group'].create({
'name': 'Text Tax Group',
'company_id': cls.env.company.id,
}).id
})
cls.product_event = cls.env['product.product'].create({
'type': 'service',
'service_tracking': 'event',
'list_price': 100,
'name': 'Event Registration No Company Assigned',
'taxes_id': [Command.set(cls.zero_tax.ids)],
})
cls.event, cls.event_2 = cls.env['event.event'].create([
{
'date_begin': (Datetime.today() + timedelta(days=5)).strftime('%Y-%m-%d 07:00:00'),
'date_end': (Datetime.today() + timedelta(days=5)).strftime('%Y-%m-%d 16:30:00'),
'name': 'Pycon',
'user_id': cls.env.ref('base.user_admin').id,
'website_published': True,
},
{
'date_begin': (Datetime.today() + timedelta(days=5)).strftime('%Y-%m-%d 07:00:00'),
'date_end': (Datetime.today() + timedelta(days=5)).strftime('%Y-%m-%d 16:30:00'),
'name': 'Conference for Architects TEST',
'user_id': cls.env.ref('base.user_admin').id,
'website_published': True,
}
])
cls.ticket, cls.ticket_2 = cls.env['event.event.ticket'].create([
{
'event_id': cls.event.id,
'name': 'Standard',
'product_id': cls.product_event.id,
'price': 100,
},
{
'event_id': cls.event_2.id,
'name': 'Standard',
'product_id': cls.product_event.id,
'price': 1000,
}
])
def create_pricelist(currency, name):
return cls.env['product.pricelist'].create({
'currency_id': currency.id,
'item_ids': [
Command.create({
'applied_on': '3_global',
'compute_price': 'percentage',
'percent_price': 10,
}),
],
'name': name,
'selectable': True,
})
cls.pricelist_without_discount = create_pricelist(currency=cls.env.company.currency_id, name='EUR Without Discount Included')
cls.ex_pricelist_without_discount = create_pricelist(currency=cls.currency_test, name='EX Without Discount Included')