diff options
| author | Richard Sassine <richardsassine@tutanota.com> | 2021-05-04 18:00:38 +0300 |
|---|---|---|
| committer | Richard Sassine <richardsassine@tutanota.com> | 2021-05-04 18:00:38 +0300 |
| commit | ad97722b1b35aff50d0adf13a19715f7b8373c07 (patch) | |
| tree | edf36f1114b896a01602e31dafd74efe45736427 /helpdesk_mgmt/tests | |
initial commit
Diffstat (limited to 'helpdesk_mgmt/tests')
| -rw-r--r-- | helpdesk_mgmt/tests/__init__.py | 3 | ||||
| -rw-r--r-- | helpdesk_mgmt/tests/test_helpdesk_ticket.py | 75 | ||||
| -rw-r--r-- | helpdesk_mgmt/tests/test_helpdesk_ticket_team.py | 80 | ||||
| -rw-r--r-- | helpdesk_mgmt/tests/test_res_partner.py | 43 |
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") |
