# -*- coding: utf-8 -*- from django.contrib.auth import get_user_model from helpdesk.models import Queue, Ticket import sys User = get_user_model() def get_user(username='helpdesk.staff', password='password', is_staff=False, is_superuser=False): try: user = User.objects.get(username=username) except User.DoesNotExist: user = User.objects.create_user(username=username, password=password, email='%s@example.com' % username) user.is_staff = is_staff user.is_superuser = is_superuser user.save() else: user.set_password(password) user.save() return user def get_staff_user(): return get_user(is_staff=True) def reload_urlconf(urlconf=None): from importlib import reload if urlconf is None: from django.conf import settings urlconf = settings.ROOT_URLCONF if HELPDESK_URLCONF in sys.modules: reload(sys.modules[HELPDESK_URLCONF]) if urlconf in sys.modules: reload(sys.modules[urlconf]) from django.urls import clear_url_caches clear_url_caches() def create_ticket(**kwargs): q = kwargs.get('queue', None) if q is None: try: q = Queue.objects.all()[0] except IndexError: q = Queue.objects.create(title='Test Q', slug='test', ) data = { 'title': "I wish to register a complaint", 'queue': q, } data.update(kwargs) return Ticket.objects.create(**data) HELPDESK_URLCONF = 'helpdesk.urls' def print_response(response, stdout=False): content = response.content.decode() if stdout: print(content) else: with open("response.html", "w") as f: # pragma: no cover f.write(content) # pragma: no cover