def test_user_account_manager(self): """ test of user_account_manager functions :return: """ if not (Management.objects.all()): m = Management(None) m.save() cpp = Course.objects.create( name='c++', my_course_management=CourseManagement.objects.all()[0]) cpp.save() appum = Appointment(additional_information='test', attendance=2, current_count_of_participants=0, my_course=cpp, location='location') appum.save() user = UserAccount.objects.create_user(username='******', s_number='s0000001', name_of_user='******', email='*****@*****.**') self.assertEqual(user.email, '*****@*****.**') self.assertEqual(user.s_number, 's0000001')
def show_form_login(request): """ This view shows our login-site and initializes our database if necessary.\n When the login-site is loaded, this view checks if groups have been stored\n within our database and creates them if necessary to ensure full\n login-functionality.\n \n For testing purposes, this view may create some accounts, courses and appointments. \n :param request: the incoming request :return: rendered login-site """ # logout user if he or she navigates back to this page from an executive-view logout(request) # define account for exception handling account = Executive # tutor_account_1 = Tutor # tutor_account_2 = Tutor app1 = Appointment app2 = Appointment # initialize our User Groups... count_of_organizers = len(Group.objects.filter(name="Organizers")) count_of_tutors = len(Group.objects.filter(name="Tutors")) if count_of_organizers is 0: Group.objects.create(name="Organizers") if count_of_tutors is 0: Group.objects.create(name="Tutors") # initialize management objects... if not (Management.objects.all()): m = Management(None) m.save() if not (CourseManagement.objects.all()): cm = CourseManagement(my_management=Management.objects.all()[0]) cm.save() if not (UserManagement.objects.all()): um = UserManagement(my_management=Management.objects.all()[0]) um.save() # if management has been initialized, # create a test Organizer and two Tutors for testing else: if not Organizer.objects.all(): # create a unique organizer account with the custom UserManager # try: account = Organizer.objects.create_user( email="*****@*****.**", password="******", name_of_user="******", s_number="s196456") # not catching these exceptions anymore, vvvvvvvv # if something goes wrong i want to know vvvvvvvv # catch exception when UNIQUE constraint fails # except IntegrityError as e: # print(e.__cause__) # # catch exception when account could not be created # except (KeyError, account.DoesNotExist): # print("account exception 2") # # if everything went well, proceed to model-object creation # else: # print("account success") # for test purposes, we create a course with several appointments and assign tutors to it if not (Course.objects.all()): test_course = Course( name="Django unchained", my_course_management=CourseManagement.objects.all()[0], is_visible=True) test_course.save() app1 = Appointment(my_course=test_course, weekday="Monday", lesson="1.DS", location="here", attendance=15, additional_information="nstr", is_visible=True) app1.save() app2 = Appointment(my_course=test_course, weekday="Monday", lesson="5.DS", location="over there", attendance=15, additional_information="nstr", is_visible=True) app2.save() if not Tutor.objects.all() and Appointment.objects.all().count() > 0: print("Tutors!") # create a unique user account with the custom UserManager # try: tutor_account_1 = Tutor.objects.create_user( email="*****@*****.**", password="******", name_of_user="******", s_number="s198385") # not catching these exceptions anymore, vvvvvvvv # if something goes wrong i want to know vvvvvvvv # # catch exception when UNIQUE constraint fails # except IntegrityError as e: # print(e.__cause__) # # catch exception when account could not be created # except (KeyError, tutor_account_1.DoesNotExist): # print("account exception 2") # # if everything went well, proceed to model-object creation # else: # print("account success t1") # create a unique user account with the custom UserManager # try: tutor_account_2 = Tutor.objects.create_user( email="*****@*****.**", password="******", name_of_user="******", s_number="s195585") # # catch exception when UNIQUE constraint fails # except IntegrityError as e: # print(e.__cause__) # # catch exception when account could not be created # except (KeyError, tutor_account_2.DoesNotExist): # print("account exception 2") # # if everything went well, proceed to model-object creation # else: # print("account success t2") # lets assign tutor 1 to both appointments if tutor_account_1 and app1: app1.add_tutor(tutor_account_1) if app2: app2.add_tutor(tutor_account_1) form = None return render(request, 'cmanagement/login.html', {'form': form})