def test_insert_subject(client, numSubjects): with app.app_context(): # insertSubject(subjectCode, term, subjectType, subjectName, components, pillar, cohortnum, totalenrollment, sessionnum): numSubjects = len(Subjects.query.all()) subjectCode = 50.999 term = 5 subjectType = "Core" subjectName = "Test Subject" components = "[]" pillar = 1 cohortnum = 1 totalenrollment = 1 sessionnum = 1 Subjects.insertSubject(subjectCode, term, subjectType, subjectName, components, pillar, cohortnum, totalenrollment, sessionnum) print("\n[INFO] Inserting new subject with following fields:") print("[INFO] Subject Code: {}".format(subjectCode)) print("[INFO] Term: {}".format(term)) print("[INFO] Subject Type: {}".format(subjectType)) print("[INFO] Components: {}".format(components)) print("[INFO] Pillar: {}".format(pillar)) print("[INFO] Cohort No.: {}".format(cohortnum)) print("[INFO] Total Enrollment: {}".format(totalenrollment)) print("[INFO] Session No.: {}".format(sessionnum)) new_numSubjects = len(Subjects.query.all()) print("[INFO] Current no. of Subjects: {}".format(numSubjects)) print("[INFO] No. of Subjects after insert: {}".format(new_numSubjects)) subjects = Subjects.query.all() assert len(subjects) == int(numSubjects) + 1
def subjects(): available_rooms = Rooms.query.all() room_list = [(-1,'No Preference')] for room in available_rooms: room_list.append((room.room_id, room.location)) form = SubjectForm() if form.add_more_component.data: print("came here instead") form.component.append_entry(u'default value') for entry in form.component.entries: entry.classroom.choices = room_list if form.validate_on_submit(): print("came here") if form.term_no.data == '-1' or form.pillar.data == '-1' or form.subject_type.data == '-1': print("Please choose an option for term, pillar and subject type") else: subjectname = form.subject_name.data subjectid = form.subject_id.data termno = dict(form.terms).get(form.term_no.data) subjecttype = dict(form.subject_types).get(form.subject_type.data) pillar = form.pillar.data cohort_num = form.cohort_num.data total_enrollment = form.total_enrollment.data session_nums = len(form.component.entries) components = [] for each_entry in form.component.entries: temp = {"duration":each_entry.data['duration'],"sessionType": int(each_entry.data['session']),"classroom":each_entry.data['classroom'], 'cohorts':[]} if int(each_entry.data['session']) == -1: print("Please choose an option for session type") return render_template('subjects.html',form=form) if int(each_entry.data['session']) == 1: for i in range(cohort_num): temp['cohorts'].append(i) components.append(temp) print(temp) Subjects.insertSubject(subjectid,termno,subjecttype,subjectname, str(components), pillar, cohort_num, total_enrollment, session_nums) return redirect(url_for('subjectsTable')) return render_template('subjects.html',form=form)