37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.addons.mail.tests.common import mail_new_test_user
|
|
from odoo.tests.common import HttpCase
|
|
from .common import HelpdeskCommon
|
|
|
|
|
|
class TestHelpdeskPortal(HttpCase, HelpdeskCommon):
|
|
def test_customer_closure(self):
|
|
self.test_team.allow_portal_ticket_closing = True
|
|
self.test_team.privacy_visibility = 'portal'
|
|
|
|
portal_user = mail_new_test_user(
|
|
self.env,
|
|
name='helpdesk_portal',
|
|
login='helpdesk_portal',
|
|
email='helpdesk@portal.com',
|
|
groups='base.group_portal',
|
|
)
|
|
|
|
ticket = self.env['helpdesk.ticket'].create({
|
|
'name': 'Test Ticket',
|
|
'team_id': self.test_team.id,
|
|
'stage_id': self.stage_new.id,
|
|
'user_id': self.helpdesk_user.id,
|
|
})
|
|
|
|
self.assertFalse(ticket.closed_by_partner, 'The ticket should not be closed by the customer.')
|
|
|
|
self.authenticate(portal_user.login, portal_user.login)
|
|
response = self.url_open(f"/my/ticket/close/{ticket.id}/{ticket.access_token}")
|
|
|
|
self.assertEqual(response.status_code, 200, 'The request should be successful.')
|
|
self.assertTrue(ticket.closed_by_partner, 'The ticket should be closed by the customer.')
|
|
self.assertEqual(ticket.stage_id, self.stage_done, 'The ticket should be moved to the Done stage.')
|