summaryrefslogtreecommitdiff
path: root/helpdesk_mgmt/tests
diff options
context:
space:
mode:
authorRichard Sassine <richardsassine@tutanota.com>2021-05-04 18:00:38 +0300
committerRichard Sassine <richardsassine@tutanota.com>2021-05-04 18:00:38 +0300
commitad97722b1b35aff50d0adf13a19715f7b8373c07 (patch)
treeedf36f1114b896a01602e31dafd74efe45736427 /helpdesk_mgmt/tests
initial commit
Diffstat (limited to 'helpdesk_mgmt/tests')
-rw-r--r--helpdesk_mgmt/tests/__init__.py3
-rw-r--r--helpdesk_mgmt/tests/test_helpdesk_ticket.py75
-rw-r--r--helpdesk_mgmt/tests/test_helpdesk_ticket_team.py80
-rw-r--r--helpdesk_mgmt/tests/test_res_partner.py43
4 files changed, 201 insertions, 0 deletions
diff --git a/helpdesk_mgmt/tests/__init__.py b/helpdesk_mgmt/tests/__init__.py
new file mode 100644
index 0000000..a9c3be8
--- /dev/null
+++ b/helpdesk_mgmt/tests/__init__.py
@@ -0,0 +1,3 @@
+from . import test_helpdesk_ticket
+from . import test_helpdesk_ticket_team
+from . import test_res_partner
diff --git a/helpdesk_mgmt/tests/test_helpdesk_ticket.py b/helpdesk_mgmt/tests/test_helpdesk_ticket.py
new file mode 100644
index 0000000..45caeb2
--- /dev/null
+++ b/helpdesk_mgmt/tests/test_helpdesk_ticket.py
@@ -0,0 +1,75 @@
+import time
+
+from odoo.tests import common
+
+
+class TestHelpdeskTicket(common.SavepointCase):
+ @classmethod
+ def setUpClass(cls):
+ super(TestHelpdeskTicket, cls).setUpClass()
+ helpdesk_ticket = cls.env["helpdesk.ticket"]
+ cls.user_admin = cls.env.ref("base.user_root")
+ cls.user_demo = cls.env.ref("base.user_demo")
+ cls.stage_closed = cls.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_done")
+
+ cls.ticket = helpdesk_ticket.create(
+ {"name": "Test 1", "description": "Ticket test"}
+ )
+
+ def test_helpdesk_ticket_datetimes(self):
+ old_stage_update = self.ticket.last_stage_update
+
+ self.assertTrue(
+ self.ticket.last_stage_update,
+ "Helpdesk Ticket: Helpdesk ticket should "
+ "have a last_stage_update at all times.",
+ )
+
+ self.assertFalse(
+ self.ticket.closed_date,
+ "Helpdesk Ticket: No closed date "
+ "should be set for a non closed "
+ "ticket.",
+ )
+
+ time.sleep(1)
+
+ self.ticket.write({"stage_id": self.stage_closed.id})
+
+ self.assertTrue(
+ self.ticket.closed_date,
+ "Helpdesk Ticket: A closed ticket " "should have a closed_date value.",
+ )
+ self.assertTrue(
+ old_stage_update < self.ticket.last_stage_update,
+ "Helpdesk Ticket: The last_stage_update "
+ "should be updated at every stage_id "
+ "change.",
+ )
+
+ self.ticket.write({"user_id": self.user_admin.id})
+ self.assertTrue(
+ self.ticket.assigned_date,
+ "Helpdesk Ticket: An assigned ticket " "should contain a assigned_date.",
+ )
+
+ def test_helpdesk_ticket_number(self):
+ self.assertNotEqual(
+ self.ticket.number,
+ "/",
+ "Helpdesk Ticket: A ticket should have " "a number.",
+ )
+ ticket_number_1 = int(self.ticket._prepare_ticket_number(values={})[2:])
+ ticket_number_2 = int(self.ticket._prepare_ticket_number(values={})[2:])
+ self.assertEqual(ticket_number_1 + 1, ticket_number_2)
+
+ def test_helpdesk_ticket_copy(self):
+ old_ticket_number = self.ticket.number
+
+ copy_ticket_number = self.ticket.copy().number
+
+ self.assertTrue(
+ copy_ticket_number != "/" and old_ticket_number != copy_ticket_number,
+ "Helpdesk Ticket: A new ticket can not "
+ "have the same number than the origin ticket.",
+ )
diff --git a/helpdesk_mgmt/tests/test_helpdesk_ticket_team.py b/helpdesk_mgmt/tests/test_helpdesk_ticket_team.py
new file mode 100644
index 0000000..ea8c54b
--- /dev/null
+++ b/helpdesk_mgmt/tests/test_helpdesk_ticket_team.py
@@ -0,0 +1,80 @@
+from odoo.tests import common
+
+
+class TestHelpdeskTicketTeam(common.SavepointCase):
+ @classmethod
+ def setUpClass(cls):
+ super(TestHelpdeskTicketTeam, cls).setUpClass()
+ helpdesk_ticket = cls.env["helpdesk.ticket"]
+ helpdesk_ticket_team = cls.env["helpdesk.ticket.team"]
+ mail_alias = cls.env["mail.alias"]
+ cls.user_demo = cls.env.ref("base.user_demo")
+ cls.stage_closed = cls.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_done")
+ cls.mail_alias_id = mail_alias.create(
+ {
+ "alias_name": "Test Mail Alias",
+ "alias_model_id": cls.env["ir.model"]
+ .search([("model", "=", "helpdesk.ticket")])
+ .id,
+ }
+ )
+ cls.team_id = helpdesk_ticket_team.create(
+ {"name": "Team 1", "alias_id": cls.mail_alias_id.id}
+ )
+ cls.helpdesk_ticket_1 = helpdesk_ticket.create(
+ {
+ "name": "Ticket 1",
+ "description": "Description",
+ "team_id": cls.team_id.id,
+ "priority": "3",
+ }
+ )
+ cls.helpdesk_ticket_2 = helpdesk_ticket.create(
+ {
+ "name": "Ticket 2",
+ "description": "Description",
+ "team_id": cls.team_id.id,
+ "user_id": cls.user_demo.id,
+ "priority": "1",
+ }
+ )
+
+ def test_helpdesk_ticket_todo(self):
+ self.assertEqual(
+ self.team_id.todo_ticket_count,
+ 2,
+ "Helpdesk Ticket: Helpdesk ticket team should " "have two tickets to do.",
+ )
+ self.assertEqual(
+ self.team_id.todo_ticket_count_unassigned,
+ 1,
+ "Helpdesk Ticket: Helpdesk ticket team should "
+ "have one tickets unassigned.",
+ )
+ self.assertEqual(
+ self.team_id.todo_ticket_count_high_priority,
+ 1,
+ "Helpdesk Ticket: Helpdesk ticket team should "
+ "have two tickets with high priority.",
+ )
+ self.assertEqual(
+ self.team_id.todo_ticket_count_unattended,
+ 2,
+ "Helpdesk Ticket: Helpdesk ticket team should "
+ "have two tickets unattended.",
+ )
+
+ self.helpdesk_ticket_1.write({"stage_id": self.stage_closed.id})
+
+ self.assertEqual(
+ self.team_id.todo_ticket_count_unattended,
+ 1,
+ "Helpdesk Ticket: Helpdesk ticket team should "
+ "have one ticket unattended.",
+ )
+
+ self.assertEqual(
+ self.team_id.todo_ticket_count,
+ 1,
+ "Helpdesk Ticket: Helpdesk ticket team should " "have one ticket to do.",
+ )
diff --git a/helpdesk_mgmt/tests/test_res_partner.py b/helpdesk_mgmt/tests/test_res_partner.py
new file mode 100644
index 0000000..f5c6c2f
--- /dev/null
+++ b/helpdesk_mgmt/tests/test_res_partner.py
@@ -0,0 +1,43 @@
+from odoo.tests.common import SavepointCase
+
+
+class TestPartner(SavepointCase):
+ def setUp(self):
+ super(TestPartner, self).setUp()
+ self.partner_obj = self.env["res.partner"]
+ self.ticket_obj = self.env["helpdesk.ticket"]
+ self.stage_id_closed = self.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_done")
+ self.parent_id = self.partner_obj.create({"name": "Parent 1"})
+ self.child_id_1 = self.partner_obj.create({"name": "Child 1"})
+ self.child_id_2 = self.partner_obj.create({"name": "Child 2"})
+ self.child_id_3 = self.partner_obj.create({"name": "Child 3"})
+ self.tickets = []
+ self.parent_id.child_ids = [
+ (4, self.child_id_1.id),
+ (4, self.child_id_2.id),
+ (4, self.child_id_3.id),
+ ]
+ for i in [69, 155, 314, 420]:
+ self.tickets.append(
+ self.ticket_obj.create(
+ {
+ "name": "Nice ticket {}".format(i),
+ "description": "Nice ticket {} description".format(i),
+ }
+ )
+ )
+ self.parent_id.helpdesk_ticket_ids = [(4, self.tickets[0].id)]
+ self.child_id_1.helpdesk_ticket_ids = [(4, self.tickets[1].id)]
+ self.child_id_2.helpdesk_ticket_ids = [(4, self.tickets[2].id)]
+ self.child_id_3.helpdesk_ticket_ids = [(4, self.tickets[3].id)]
+ self.child_id_3.helpdesk_ticket_ids[-1].stage_id = self.stage_id_closed
+
+ def test_ticket_count(self):
+ self.assertEqual(self.parent_id.helpdesk_ticket_count, 4)
+
+ def test_ticket_active_count(self):
+ self.assertEqual(self.parent_id.helpdesk_ticket_active_count, 3)
+
+ def test_ticket_string(self):
+
+ self.assertEqual(self.parent_id.helpdesk_ticket_count_string, "3 / 4")