Exemple #1
0
 def test_with_unit_graded_for_different_user(self):
     self.create_graded_assignment(self.unit, 'graded_unit',
                                   self.outcome_service)
     other_user = UserFactory.create()
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, other_user.id, self.course.id)
     self.assertEqual(len(assignments), 0)
 def test_with_unit_graded_for_different_user(self):
     self.create_graded_assignment(self.unit, 'graded_unit', self.outcome_service)
     other_user = UserFactory.create()
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, other_user.id, self.course.id
         )
     self.assertEqual(len(assignments), 0)
Exemple #3
0
 def test_with_graded_unit(self):
     self.create_graded_assignment(self.unit, 'graded_unit',
                                   self.outcome_service)
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id)
     self.assertEqual(len(assignments), 1)
     self.assertEqual(assignments[0].lis_result_sourcedid, 'graded_unit')
 def test_with_graded_vertical(self):
     self.create_graded_assignment(self.vertical, 'graded_vertical', self.outcome_service)
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id
         )
     self.assertEqual(len(assignments), 1)
     self.assertEqual(assignments[0].lis_result_sourcedid, 'graded_vertical')
 def test_with_unit_used_twice(self):
     self.create_graded_assignment(self.unit, 'graded_unit', self.outcome_service)
     self.create_graded_assignment(self.unit, 'graded_unit2', self.outcome_service)
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id
         )
     self.assertEqual(len(assignments), 2)
     self.assertEqual(assignments[0].lis_result_sourcedid, 'graded_unit')
     self.assertEqual(assignments[1].lis_result_sourcedid, 'graded_unit2')
 def test_with_unit_graded_for_multiple_consumers(self):
     other_outcome_service = self.create_outcome_service('second_consumer')
     self.create_graded_assignment(self.unit, 'graded_unit', self.outcome_service)
     self.create_graded_assignment(self.unit, 'graded_unit2', other_outcome_service)
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id
         )
     self.assertEqual(len(assignments), 2)
     self.assertEqual(assignments[0].lis_result_sourcedid, 'graded_unit')
     self.assertEqual(assignments[1].lis_result_sourcedid, 'graded_unit2')
     self.assertEqual(assignments[0].outcome_service, self.outcome_service)
     self.assertEqual(assignments[1].outcome_service, other_outcome_service)
Exemple #7
0
 def test_with_unit_graded_for_multiple_consumers(self):
     other_outcome_service = self.create_outcome_service('second_consumer')
     self.create_graded_assignment(self.unit, 'graded_unit', self.outcome_service)
     self.create_graded_assignment(self.unit, 'graded_unit2', other_outcome_service)
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id
         )
     self.assertEqual(len(assignments), 2)
     self.assertEqual(assignments[0].lis_result_sourcedid, 'graded_unit')
     self.assertEqual(assignments[1].lis_result_sourcedid, 'graded_unit2')
     self.assertEqual(assignments[0].outcome_service, self.outcome_service)
     self.assertEqual(assignments[1].outcome_service, other_outcome_service)
Exemple #8
0
def increment_assignment_versions(course_key, usage_key, user_id):
    """
    Update the version numbers for all assignments that are affected by a score
    change event. Returns a list of all affected assignments.
    """
    problem_descriptor = modulestore().get_item(usage_key)
    # Get all assignments involving the current problem for which the campus LMS
    # is expecting a grade. There may be many possible graded assignments, if
    # a problem has been added several times to a course at different
    # granularities (such as the unit or the vertical).
    assignments = outcomes.get_assignments_for_problem(problem_descriptor, user_id, course_key)
    for assignment in assignments:
        assignment.version_number += 1
        assignment.save()
    return assignments
Exemple #9
0
def increment_assignment_versions(course_key, usage_key, user_id):
    """
    Update the version numbers for all assignments that are affected by a score
    change event. Returns a list of all affected assignments.
    """
    problem_descriptor = modulestore().get_item(usage_key)
    # Get all assignments involving the current problem for which the campus LMS
    # is expecting a grade. There may be many possible graded assignments, if
    # a problem has been added several times to a course at different
    # granularities (such as the unit or the vertical).
    assignments = outcomes.get_assignments_for_problem(problem_descriptor,
                                                       user_id, course_key)
    for assignment in assignments:
        assignment.version_number += 1
        assignment.save()
    return assignments
Exemple #10
0
 def test_with_no_graded_assignments(self):
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id)
     self.assertEqual(len(assignments), 0)
Exemple #11
0
 def test_with_no_graded_assignments(self):
     with check_mongo_calls(3):
         assignments = outcomes.get_assignments_for_problem(
             self.unit, self.user_id, self.course.id
         )
     self.assertEqual(len(assignments), 0)