def test_course_structure_to_assignments(self): factory = CourseStructureFactory() structure = factory.structure actual = CourseStructure.course_structure_to_assignments(structure, graded=True) expected = self._prepare_structure(structure, factory.assignments) self.assertListEqual(actual, expected) # Test for assignment type filtering assignment_type = factory.grading_policy[0]['assignment_type'] actual = CourseStructure.course_structure_to_assignments(structure, graded=True, assignment_type=assignment_type) assignments = [assignment for assignment in factory.assignments if assignment['format'] == assignment_type] expected = self._prepare_structure(structure, assignments) self.assertListEqual(actual, expected)
def assignments(self, assignment_type=None): """ Returns the assignments (and problems) for the represented course. """ assignment_type_name = None if assignment_type is None else assignment_type['name'] assignment_type_key = self.get_cache_key(u'assignments_{}'.format(assignment_type_name)) assignments = cache.get(assignment_type_key) if not assignments: all_assignments_key = self.get_cache_key(u'assignments') assignments = cache.get(all_assignments_key) if not assignments: structure = self._get_structure() assignments = CourseStructure.course_structure_to_assignments( structure, graded=True, assignment_type=None) cache.set(all_assignments_key, assignments) if assignment_type: assignment_type['name'] = assignment_type['name'].lower() assignments = [assignment for assignment in assignments if assignment['assignment_type'].lower() == assignment_type['name']] self.add_child_data_to_parent_blocks(assignments, self._build_graded_answer_distribution_url) self.attach_data_to_parents(assignments, self._build_assignment_url) # Cache the data for the course-assignment_type combination. cache.set(assignment_type_key, assignments) return assignments
def _get_assignments(self, assignment_type=None): structure = self.course_api_client.course_structures( self.page.course_id).get() assignments = CourseStructure.course_structure_to_assignments( structure, graded=True, assignment_type=assignment_type) return self._build_submissions(assignments, self._get_problems_dict())
def _get_assignments(self, assignment_type=None): structure = self.course_api_client.course_structures(self.page.course_id).get() assignments = CourseStructure.course_structure_to_assignments( structure, graded=True, assignment_type=assignment_type ) return self._build_submissions(assignments, self._get_problems_dict())
def test_course_structure_to_assignments(self): factory = CourseStructureFactory() structure = factory.structure actual = CourseStructure.course_structure_to_assignments(structure, graded=True) expected = self._prepare_structure(structure, factory.assignments) self.assertListEqual(actual, expected) # Test for assignment type filtering assignment_type = factory.grading_policy[0]['assignment_type'] actual = CourseStructure.course_structure_to_assignments( structure, graded=True, assignment_type=assignment_type) assignments = [ assignment for assignment in factory.assignments if assignment['format'] == assignment_type ] expected = self._prepare_structure(structure, assignments) self.assertListEqual(actual, expected)
def _assignments(self, assignment_type=None): structure = self._structure() return CourseStructure.course_structure_to_assignments(structure, graded=True, assignment_type=assignment_type)
def _assignments(self, assignment_type=None): structure = self._structure() return CourseStructure.course_structure_to_assignments( structure, graded=True, assignment_type=assignment_type)