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_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])
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], )
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), )