diff options
Diffstat (limited to 'helpdesk_mgmt/tests/test_helpdesk_ticket.py')
| -rw-r--r-- | helpdesk_mgmt/tests/test_helpdesk_ticket.py | 75 |
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.", + ) |
