summaryrefslogtreecommitdiff
path: root/helpdesk_mgmt/tests/test_helpdesk_ticket.py
diff options
context:
space:
mode:
Diffstat (limited to 'helpdesk_mgmt/tests/test_helpdesk_ticket.py')
-rw-r--r--helpdesk_mgmt/tests/test_helpdesk_ticket.py75
1 files changed, 75 insertions, 0 deletions
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.",
+ )