Beispiel #1
0
    def test_teacher_multiple_students_single_level(self):
        level_ids = ids_of_levels_named(["1"])
        level1 = Level.objects.get(name="1")

        clas, student, student2 = set_up_data()

        create_attempt(student, level1, 10.5)
        create_attempt(student2, level1, 2.3)

        student_data, headers = scoreboard_data(Teacher(), level_ids,
                                                [clas.id])

        assert_that(
            headers,
            equal_to([
                'Class', 'Name', 'Score', 'Total Time', 'Start Time',
                'Finish Time'
            ]))
        assert_that(student_data, has_length(2))

        assert_student_row_single_level(
            student_row=student_data[0],
            class_name=clas.name,
            student_name=student.user.user.first_name,
            total_score=10.5,
            total_time=timedelta(0))

        assert_student_row_single_level(
            student_row=student_data[1],
            class_name=clas.name,
            student_name=student2.user.user.first_name,
            total_score=2.3,
            total_time=timedelta(0))
Beispiel #2
0
    def test_student_multiple_students_multiple_levels_cannot_see_classmates(
            self):
        level_ids = ids_of_levels_named(["1", "2"])
        level1 = Level.objects.get(name="1")
        level2 = Level.objects.get(name="2")

        clas, student, student2 = set_up_data()
        create_attempt(student, level1, 10.5)
        create_attempt(student2, level1, 2.3)
        create_attempt(student2, level2, 16.7)

        student_data, headers = scoreboard_data(Student(student), level_ids,
                                                [clas.id])

        assert_that(
            headers,
            equal_to([
                'Class', 'Name', 'Total Score', 'Total Time', 'Progress',
                u'Level 1', u'Level 2'
            ]))
        assert_that(student_data, has_length(1))

        assert_student_row(student_row=student_data[0],
                           class_name=clas.name,
                           student_name=student.user.user.first_name,
                           total_score=10.5,
                           total_time=timedelta(0),
                           progress=(0.0, 0.0, 50.0),
                           scores=[10.5, ''])
    def test_teacher_multiple_students_single_level(self):
        level_ids = ids_of_levels_named(["1"])
        level1 = Level.objects.get(name="1")

        clas, student, student2 = set_up_data()

        create_attempt(student, level1, 10.5)
        create_attempt(student2, level1, 2.3)

        student_data, headers = scoreboard_data(Teacher(), level_ids, [clas.id])

        assert_that(headers, equal_to(['Class', 'Name', 'Score', 'Total Time', 'Start Time', 'Finish Time']))
        assert_that(student_data, has_length(2))

        assert_student_row_single_level(student_row=student_data[0],
                                        class_name=clas.name,
                                        student_name=student.user.user.first_name,
                                        total_score=10.5,
                                        total_time=timedelta(0))

        assert_student_row_single_level(student_row=student_data[1],
                                        class_name=clas.name,
                                        student_name=student2.user.user.first_name,
                                        total_score=2.3,
                                        total_time=timedelta(0))
    def test_teacher_multiple_students_multiple_levels(self):
        level_ids = ids_of_levels_named(["1", "2"])
        level1 = Level.objects.get(name="1")
        level2 = Level.objects.get(name="2")

        clas, student, student2 = set_up_data()

        create_attempt(student, level1, 10.5)
        create_attempt(student2, level1, 2.3)
        create_attempt(student2, level2, 16.7)

        student_data, headers = scoreboard_data(Teacher(), level_ids, [clas.id])

        assert_that(headers, equal_to(['Class', 'Name', 'Total Score', 'Total Time', 'Progress', u'Level 1', u'Level 2']))
        assert_that(student_data, has_length(2))

        assert_student_row(student_row=student_data[0],
                           class_name=clas.name,
                           student_name=student.user.user.first_name,
                           total_score=10.5,
                           total_time=timedelta(0),
                           progress=(0.0, 0.0, 50.0),
                           scores=[10.5, ''])

        assert_student_row(student_row=student_data[1],
                           class_name=clas.name,
                           student_name=student2.user.user.first_name,
                           total_score=19.0,
                           total_time=timedelta(0),
                           progress=(0.0, 50.0, 50.0),
                           scores=[2.3, 16.7])
Beispiel #5
0
    def test_teacher_multiple_students_multiple_levels(self):
        level_ids = ids_of_levels_named(["1", "2"])
        level1 = Level.objects.get(name="1")
        level2 = Level.objects.get(name="2")

        clas, student, student2 = set_up_data()

        create_attempt(student, level1, 10.5)
        create_attempt(student2, level1, 2.3)
        create_attempt(student2, level2, 16.7)

        student_data, headers = scoreboard_data(Teacher(), level_ids,
                                                [clas.id])

        assert_that(
            headers,
            equal_to([
                "Class",
                "Name",
                "Total Score",
                "Total Time",
                "Progress",
                "Level 1",
                "Level 2",
            ]),
        )
        assert_that(student_data, has_length(2))

        assert_student_row(
            student_row=student_data[0],
            class_name=clas.name,
            student_name=student.user.user.first_name,
            total_score=10.5,
            total_time=timedelta(0),
            progress=(0.0, 0.0, 50.0),
            scores=[10.5, ""],
        )

        assert_student_row(
            student_row=student_data[1],
            class_name=clas.name,
            student_name=student2.user.user.first_name,
            total_score=19.0,
            total_time=timedelta(0),
            progress=(0.0, 50.0, 50.0),
            scores=[2.3, 16.7],
        )
Beispiel #6
0
    def test_student_multiple_students_single_level(self):
        level_ids = ids_of_levels_named(["2"])
        level2 = Level.objects.get(name="2")

        clas, student, student2 = set_up_data(True)

        create_attempt(student, level2, 10.5)
        create_attempt(student2, level2, 16.7)

        student_data, headers = scoreboard_data(Student(student), level_ids,
                                                [clas.id])

        assert_that(
            headers,
            equal_to([
                "Class", "Name", "Score", "Total Time", "Start Time",
                "Finish Time"
            ]),
        )
        assert_that(student_data, has_length(2))

        assert_student_row_single_level(
            student_row=student_data[0],
            class_name=clas.name,
            student_name=student.user.user.first_name,
            total_score=10.5,
            total_time=timedelta(0),
        )

        assert_student_row_single_level(
            student_row=student_data[1],
            class_name=clas.name,
            student_name=student2.user.user.first_name,
            total_score=16.7,
            total_time=timedelta(0),
        )