Includes: - Odoo 19 framework (odoo/) - 27 custom EnCoach addons (new_project/custom_addons/) - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media - encoach_courseware, encoach_communication, encoach_subscription - encoach_notification, encoach_approval, encoach_branding - encoach_classroom, encoach_registration, encoach_stats - encoach_faq, encoach_ticket, encoach_training, encoach_resources - encoach_adaptive_ai, encoach_sis - 21 OpenEduCat Enterprise modules (new_project/enterprise-19/) - 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/) - Configuration: odoo.conf, requirements.txt, scripts - 200+ REST API endpoints with JWT authentication - SRS and test documentation Made-with: Cursor
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from odoo.addons.point_of_sale.tests.common import CommonPosTest
|
|
from odoo.fields import Command
|
|
|
|
|
|
class CommonPosLoyaltyTest(CommonPosTest):
|
|
@classmethod
|
|
def setUpClass(self):
|
|
super().setUpClass()
|
|
|
|
self.loyalty_create_programs(self)
|
|
self.loyalty_create_rewards(self)
|
|
|
|
def loyalty_create_programs(self):
|
|
self.four_20_dollars_one_free_program = self.env['loyalty.program'].create({
|
|
'name': 'Buy 4 20 dollars Take 1 20 dollars',
|
|
'program_type': 'loyalty',
|
|
'trigger': 'auto',
|
|
'applies_on': 'both',
|
|
'rule_ids': [Command.create({
|
|
'product_ids': self.twenty_dollars_no_tax.product_variant_id.ids,
|
|
'reward_point_mode': 'unit',
|
|
'minimum_qty': 1,
|
|
})],
|
|
})
|
|
|
|
def loyalty_create_rewards(self):
|
|
self.twenty_dollars_reward = self.env['loyalty.reward'].create({
|
|
'program_id': self.four_20_dollars_one_free_program.id,
|
|
'reward_type': 'product',
|
|
'reward_product_id': self.twenty_dollars_no_tax.product_variant_id.id,
|
|
'reward_product_qty': 1,
|
|
'required_points': 4,
|
|
})
|