diff --git a/helpdesk/tests/test_per_queue_staff_permission.py b/helpdesk/tests/test_per_queue_staff_permission.py index 7ac14480..cd62988b 100644 --- a/helpdesk/tests/test_per_queue_staff_permission.py +++ b/helpdesk/tests/test_per_queue_staff_permission.py @@ -81,6 +81,38 @@ class PerQueueStaffMembershipTestCase(TestCase): identifier, 'Unassigned tickets were not properly limited by queue membership' ) + self.assertEqual( + response.context['basic_ticket_stats']['open_ticket_stats'][0][1], + identifier * 2, + 'Basic ticket stats were not properly limited by queue membership' + ) + + # Superuser + self.client.login(username='superuser', password='superuser') + response = self.client.get(reverse('helpdesk_dashboard')) + self.assertEqual( + len(response.context['unassigned_tickets']), + 3, + 'Unassigned tickets were limited by queue membership for a superuser' + ) + self.assertEqual( + response.context['basic_ticket_stats']['open_ticket_stats'][0][1] + + response.context['basic_ticket_stats']['open_ticket_stats'][1][1], + 6, + 'Basic ticket stats were limited by queue membership for a superuser' + ) + + def test_report_ticket_counts(self): + """ + Check that the regular users' report only shows 1 of the 2 queues, + that user_1 only sees a total of 1 ticket, that user_2 sees a total of 2 + tickets, but that the superuser's report shows all queues and tickets. + """ + + # Regular users + for identifier in self.IDENTIFIERS: + self.client.login(username='User_%d' % identifier, password=str(identifier)) + response = self.client.get(reverse('helpdesk_report_index')) self.assertEqual( len(response.context['dash_tickets']), 1, @@ -100,11 +132,6 @@ class PerQueueStaffMembershipTestCase(TestCase): # Superuser self.client.login(username='superuser', password='superuser') response = self.client.get(reverse('helpdesk_dashboard')) - self.assertEqual( - len(response.context['unassigned_tickets']), - 3, - 'Unassigned tickets were limited by queue membership for a superuser' - ) self.assertEqual( len(response.context['dash_tickets']), 2,