1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/helpdesk_sale_loyalty/tests/test_helpdesk_sale_loyalty.py
2024-12-10 09:04:09 +07:00

52 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.addons.helpdesk.tests import common
from odoo.tests.common import Form
class TestHelpdeskSaleCoupon(common.HelpdeskCommon):
""" Test used to check that the functionalities of After sale in Helpdesk (sale_coupon).
"""
def test_helpdesk_sale_loyalty(self):
# give the test team ability to create coupons
self.test_team.use_coupons = True
ticket = self.env['helpdesk.ticket'].create({
'name': 'test',
'partner_id': self.partner.id,
'team_id': self.test_team.id,
})
program = self.env['loyalty.program'].create({
'name': 'test program',
'program_type': 'coupons',
'trigger': 'with_code',
'applies_on': 'current',
'reward_ids': [(0, 0, {
'reward_type': 'discount',
'discount': 10,
'discount_mode': 'percent',
'discount_applicability': 'order',
})],
})
coupon_form = Form(self.env['helpdesk.sale.coupon.generate'].with_context({
'active_model': 'helpdesk.ticket',
'default_ticket_id': ticket.id,
}))
coupon_form.program = program
sale_coupon = coupon_form.save()
sale_coupon.action_coupon_generate_send()
coupon = self.env['loyalty.card'].search([
('partner_id', '=', self.partner.id),
('program_id', '=', program.id)
])
self.assertEqual(len(coupon), 1, "No coupon created")
self.assertEqual(len(ticket.coupon_ids), 1,
"The ticket is not linked to a coupon")
self.assertEqual(coupon[0], ticket.coupon_ids[0],
"The correct coupon should be referenced in the ticket")