Esempio n. 1
0
 def setUp(self):
     self.queue = Queue.objects.create(
         title="Test queue",
         slug="test_queue",
         allow_public_submission=True,
     )
     self.queue.save()
     cat = KBCategory.objects.create(
         title="Test Cat",
         slug="test_cat",
         description="This is a test category",
         queue=self.queue,
     )
     cat.save()
     self.kbitem1 = KBItem.objects.create(
         category=cat,
         title="KBItem 1",
         question="What?",
         answer="A KB Item",
     )
     self.user = get_staff_user()
     self.ticket1 = Ticket.objects.create(
         title="unassigned to kbitem",
         queue=self.queue,
         description="lol",
     )
     self.ticket1.save()
     self.ticket2 = Ticket.objects.create(
         title="assigned to kbitem",
         queue=self.queue,
         description="lol",
         kbitem=self.kbitem1,
     )
     self.ticket2.save()
Esempio n. 2
0
 def setUp(self):
     self.queue = Queue.objects.create(
         title="Test queue",
         slug="test_queue",
         allow_public_submission=True,
     )
     self.queue.save()
     cat = KBCategory.objects.create(
         title="Test Cat",
         slug="test_cat",
         description="This is a test category",
         queue=self.queue,
     )
     cat.save()
     self.kbitem1 = KBItem.objects.create(
         category=cat,
         title="KBItem 1",
         question="What?",
         answer="A KB Item",
     )
     self.kbitem1.save()
     self.kbitem2 = KBItem.objects.create(
         category=cat,
         title="KBItem 2",
         question="When?",
         answer="Now",
     )
     self.kbitem2.save()
     self.user = get_staff_user()
Esempio n. 3
0
    def test_staff_user(self):
        from helpdesk.views.staff import return_to_ticket

        user = get_staff_user()
        ticket = create_ticket()
        response = return_to_ticket(user, helpdesk_settings, ticket)
        self.assertEqual(response['location'], ticket.get_absolute_url())
Esempio n. 4
0
    def test_no_user_settings_redirect_to_dashboard(self):
        """Authenticated users are redirected to the dashboard if user settings are missing"""
        from helpdesk.models import UserSettings
        user = get_staff_user()

        UserSettings.objects.filter(user=user).delete()
        self.assertUserRedirectedToView(user, 'helpdesk:dashboard')
Esempio n. 5
0
    def test_redirect_to_ticket_list(self):
        """Authenticated users are redirected to the ticket list based on their user settings"""
        user = get_staff_user()
        user.usersettings_helpdesk.login_view_ticketlist = True
        user.usersettings_helpdesk.save()

        self.assertUserRedirectedToView(user, 'helpdesk:list')
Esempio n. 6
0
    def test_redirect_to_dashboard(self):
        """Authenticated users are redirected to the dashboard"""
        user = get_staff_user()

        # login_view_ticketlist is False...
        user.usersettings_helpdesk.login_view_ticketlist = False
        user.usersettings_helpdesk.save()
        self.assertUserRedirectedToView(user, 'helpdesk:dashboard')
Esempio n. 7
0
 def test_staff_rss(self):
     """If HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE is False,
     staff users should be able to access rss feeds.
     """
     user = get_staff_user()
     self.client.login(username=user.username, password='******')
     response = self.client.get(reverse('helpdesk:rss_unassigned'), follow=True)
     self.assertContains(response, 'Unassigned Open and Reopened tickets')
Esempio n. 8
0
    def test_staff_can_access_dashboard(self):
        """When HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE is False,
        staff users should be able to access the dashboard.
        """
        from helpdesk.decorators import is_helpdesk_staff

        user = get_staff_user()
        self.client.login(username=user.username, password='******')
        response = self.client.get(reverse('helpdesk:dashboard'), follow=True)
        self.assertTemplateUsed(response, 'helpdesk/dashboard.html')
Esempio n. 9
0
 def test_cansavequery(self):
     """Can a query be saved"""
     url = reverse('helpdesk_savequery')
     self.client.login(username=get_staff_user().get_username(),
                       password='******')
     response = self.client.post(url,
                                 data={'title': 'ticket on my queue',
                                 'queue':self.q,
                                 'shared':'on',
                                 'query_encoded':'KGRwMApWZmlsdGVyaW5nCnAxCihkcDIKVnN0YXR1c19faW4KcDMKKGxwNApJMQphSTIKYUkzCmFzc1Zzb3J0aW5nCnA1ClZjcmVhdGVkCnA2CnMu'})
     self.assertEqual(response.status_code, 302)
     self.assertTrue('tickets/?saved_query=1' in response.url)
Esempio n. 10
0
    def test_navigation(self):
        """Test proper rendering of navigation.html by accessing the dashboard"""
        from django.core.urlresolvers import NoReverseMatch

        self.client.login(username=get_staff_user().get_username(), password='******')
        self.assertRaises(NoReverseMatch, reverse, 'helpdesk_kb_index')
        try:
            response = self.client.get(reverse('helpdesk_dashboard'))
        except NoReverseMatch, e:
            if 'helpdesk_kb_index' in e.message:
                self.fail("Please verify any unchecked references to helpdesk_kb_index (start with navigation.html)")
            else:
                raise
Esempio n. 11
0
    def test_staff_user_detection(self):
        """Staff and non-staff users are correctly identified"""
        from helpdesk.decorators import is_helpdesk_staff

        self.assertFalse(is_helpdesk_staff(self.non_staff_user))
        self.assertTrue(is_helpdesk_staff(get_staff_user()))