def test_create_course_with_labs(self):
        # create a new course as admin
        self.assertEqual(Commands.create_course("COMPSCI", "361", "1", "2"),
                         "Course created successfully")
        # get the added course from the db
        da_course = models.Course.objects.get(course_id="361")
        # make sure found course is the same
        self.assertEqual(da_course.course_department, "COMPSCI")
        self.assertEqual(da_course.course_id, 361)
        self.assertEqual(da_course.num_lectures, 1)
        self.assertEqual(da_course.num_labs, 2)

        # should find one lecture section
        da_lecture = models.Lecture.objects.filter(course=da_course)
        self.assertEqual(da_lecture[0].lecture_section, "401")
        self.assertEqual(da_lecture[0].course, da_course)
        # shouldn't be able to access any more lectures tied to course
        with self.assertRaises(IndexError):
            print(da_lecture[1])

        # should find two lab sections
        da_labs = models.Lab.objects.filter(course=da_course)
        self.assertEqual(da_labs[0].lab_section, "801")
        self.assertEqual(da_labs[0].course, da_course)
        self.assertEqual(da_labs[1].lab_section, "802")
        self.assertEqual(da_labs[1].course, da_course)
 def test_create_course_again(self):
     Commands.create_course("COMPSCI", "361", "1", "2")
     # create the same course again with no changes
     self.assertEqual(Commands.create_course("COMPSCI", "361", "1", "2"),
                      "Course already exists")
     # create the same course with a different number of labs
     self.assertEqual(Commands.create_course("COMPSCI", "361", "1", "3"),
                      "Course already exists")
     # create the same course with a different section number
     self.assertEqual(Commands.create_course("COMPSCI", "361", "2", "2"),
                      "Course already exists")
     da_course = models.Course.objects.get(course_id="361")
     # make sure found course is the same
     self.assertEqual(da_course.course_department, "COMPSCI")
     self.assertEqual(da_course.course_id, 361)
     self.assertEqual(da_course.num_lectures, 1)
     self.assertEqual(da_course.num_labs, 2)
Ejemplo n.º 3
0
    def post(self, request):
        request.session.set_expiry(300)
        course_department = request.POST["course_department"]
        course_id = request.POST["course_id"]
        num_lectures = request.POST["num_lectures"]
        num_labs = request.POST["num_labs"]

        response = Commands.create_course(course_department, course_id,
                                          num_lectures, num_labs)

        if response == "Course has been created successfully.":
            messages.success(request, response)
        else:
            messages.error(request, response)

        return render(request, 'main/create_course.html', {
            "message": [course_department, course_id, num_lectures, num_labs]
        })
 def test_create_course_course_id_too_big(self):
     self.assertEqual(
         Commands.create_course("COMPSCI", "1234", "1", "2"),
         "Course ID must be 3 digits long and between 101 and 999")
 def test_create_course_course_id_letters(self):
     self.assertEqual(Commands.create_course("COMPSCI", "3F5", "1", "2"),
                      "Course ID must be a number")
 def test_create_course_bad_department(self):
     self.assertEqual(Commands.create_course("BUTTS", "361", "1", "2"),
                      "That department is not offered")
 def test_create_course_missing_parameters(self):
     with self.assertRaises(TypeError):
         Commands.create_course("COMPSCI")
     # missing course_id/wrong type
     with self.assertRaises(TypeError):
         Commands.create_course(3)
 def test_create_course_num_labs_neg(self):
     self.assertEqual(Commands.create_course("COMPSCI", "361", "3", "-32"),
                      "Number of lab sections must be a number")
 def test_create_course_num_labs_too_big(self):
     self.assertEqual(
         Commands.create_course("COMPSCI", "361", "3", "44"),
         "Number of lab sections cannot be less than 0 or greater than 5")
 def test_create_course_num_lectures_zero(self):
     self.assertEqual(
         Commands.create_course("COMPSCI", "361", "0", "2"),
         "Number of lecture sections cannot be less than 1 or greater than 5"
     )
 def test_create_course_num_lectures_letters(self):
     self.assertEqual(Commands.create_course("COMPSCI", "361", "F", "2"),
                      "Number of lecture sections must be a number")