import datetime from django.contrib.auth.models import User from web.models import Location, AppointmentType, Subject, Worker, Visit, Appointment from web.views import get_today_midnight_date def create_location(name="test"): return Location.objects.create(name=name) def get_test_location(): locations = Location.objects.filter(name="test") if len(locations) > 0: return locations[0] else: return create_location() def create_appointment_type(): return AppointmentType.objects.create( code="C", default_duration="10", description="test", ) def create_subject(): return Subject.objects.create( first_name="Piotr", last_name="Gawron", default_location=get_test_location(), sex=Subject.SEX_CHOICES_MALE) def create_user(): user = User.objects.create_user( username='piotr', email='jacob@bla', password='top_secret') create_worker(user) return user def create_worker(user=None): return Worker.objects.create( first_name='piotr', last_name="gawron", email='jacob@bla', user=user, ) def create_visit(subject=None): if subject is None: subject = create_subject() return Visit.objects.create(datetime_begin=get_today_midnight_date() + datetime.timedelta(days=-31), datetime_end=get_today_midnight_date() + datetime.timedelta(days=31), subject=subject, is_finished=False) def create_appointment(visit=None): if visit is None: visit = create_visit() return Appointment.objects.create( visit=visit, length=30, location=get_test_location())