예제 #1
0
    def test_not_see_list_of_registered_students_in_form_if_student_was_registered_2_days_before(self):
        # Given a database with students enrolled to courses
        course = Course.objects.create(
            name="maths",
            start_date=timezone.now().date(),
            finish_date=timezone.now().date(),
        )
        john = Student.objects.create(name="john")
        students_of_course = [
            john,
            Student.objects.create(name="michael")
        ]
        course.students.add(*students_of_course)
        professor = User.objects.create(username="******")
        course.professors.add(professor)
        before_two_days_date = timezone.now() - datetime.timedelta(days=2)
        attendance = Attendance.objects.create(course=course, student=john)
        Attendance.objects.filter(pk=attendance.pk).update(date=before_two_days_date)

        self.create_preauthenticated_session_for(professor)
        register_student_page = RegisterStudentPage(self.browser, root_uri=self.live_server_url)

        # I don't want to see john student is checked in form
        register_student_page.get("/register/{0}".format(course.pk))
        checked_students = register_student_page.checked_students
        self.assertNotIn(john.name, checked_students)
예제 #2
0
    def test_if_user_is_not_logged_and_want_register_page_go_to_login_page(self):
        course = Course.objects.create(
            name="maths",
            start_date=timezone.now().date(),
            finish_date=timezone.now().date(),
        )

        register_student_page = RegisterStudentPage(self.browser, root_uri=self.live_server_url)
        register_student_page.get("/register/{0}".format(course.pk))

        self.assertEquals(len(self.browser.find_elements_by_id('id_username')), 1)
예제 #3
0
    def test_see_list_of_registered_students_from_a_course(self):
        # Given a database with students enrolled to courses
        course = Course.objects.create(
            name="maths",
            start_date=timezone.now().date(),
            finish_date=timezone.now().date(),
        )
        john = Student.objects.create(name="john")
        students_of_course = [
            john,
            Student.objects.create(name="michael")
        ]
        course.students.add(*students_of_course)
        professor = User.objects.create(username="******")
        course.professors.add(professor)

        self.create_preauthenticated_session_for(professor)

        register_student_page = RegisterStudentPage(self.browser, root_uri=self.live_server_url)
        register_student_page.get("/register/{0}".format(course.pk))
        register_student_page.toggle_check(john.name)
        register_student_page.submit_button.click()
        list_student_page = ListStudentPage(self.browser, root_uri=self.live_server_url)

        # I want to see the list of my students
        attendance = Attendance.objects.all()[0]
        list_student_page.get("/registered/{0}/{1:%Y-%m-%d}".format(course.pk, attendance.date))
        students_registered = list_student_page.students_registered
        self.assertIn(john.name, students_registered)
예제 #4
0
    def test_cannot_register_students_when_the_course_is_not_started(self):
        # Given a database with students enrolled to courses
        course = Course.objects.create(
            name="maths",
            start_date=timezone.now().date() + datetime.timedelta(days=1),
            finish_date=timezone.now().date() + datetime.timedelta(days=1)
        )
        john = Student.objects.create(name="john")
        students_of_course = [
            john,
            Student.objects.create(name="michael")
        ]
        course.students.add(*students_of_course)
        professor = User.objects.create(username="******")
        course.professors.add(professor)

        self.create_preauthenticated_session_for(professor)
        register_student_page = RegisterStudentPage(self.browser, root_uri=self.live_server_url)
        register_student_page.get("/register/{0}".format(course.pk))
        not_started_course_message = register_student_page.not_started_course_message

        self.assertIn(not_started_course_message, NOT_STARTED_COURSE_MESSAGE)
예제 #5
0
    def test_see_message_register_attendances_sucessfully(self):
        # Given a database with students enrolled to courses
        course = Course.objects.create(
            name="maths",
            start_date=timezone.now().date(),
            finish_date=timezone.now().date(),
        )
        john = Student.objects.create(name="john")
        students_of_course = [
            john,
            Student.objects.create(name="michael")
        ]
        course.students.add(*students_of_course)
        professor = User.objects.create(username="******")
        course.professors.add(professor)

        self.create_preauthenticated_session_for(professor)
        register_student_page = RegisterStudentPage(self.browser, root_uri=self.live_server_url)
        register_student_page.get("/register/{0}".format(course.pk))
        register_student_page.toggle_check(john.name)
        register_student_page.submit_button.click()
        self.assertEquals(register_student_page.success_message, SUCCESS_MESSAGE)