def get_multiple_submissions(self, **kwargs): """ List submissions for multiple assignments. Get all existing submissions for a given set of students and assignments. :calls: `GET /api/v1/sections/:section_id/students/submissions \ <https://canvas.instructure.com/doc/api/submissions.html#method.submissions_api.for_students>`_ :rtype: :class:`canvasapi.paginated_list.PaginatedList` of :class:`canvasapi.submission.Submission` """ is_grouped = kwargs.get("grouped", False) if normalize_bool(is_grouped, "grouped"): cls = GroupedSubmission else: cls = Submission return PaginatedList( cls, self._requester, "GET", "sections/{}/students/submissions".format(self.id), {"section_id": self.id}, _kwargs=combine_kwargs(**kwargs), )
def test_normalize_bool_str_invalid(self, m): with self.assertRaises(ValueError) as cm: normalize_bool("invalid", "value") self.assertIn("Parameter `value` must", cm.exception.args[0])
def test_normalize_bool_str_lower(self, m): self.assertTrue(normalize_bool("true", "value")) self.assertFalse(normalize_bool("false", "value"))
def test_normalize_bool_str_upper(self, m): self.assertTrue(normalize_bool("True", "value")) self.assertFalse(normalize_bool("False", "value"))
def test_normalize_bool_boolean(self, m): self.assertTrue(normalize_bool(True, "value")) self.assertFalse(normalize_bool(False, "value"))