def test_self_list_courses_is_admin_for(self):
        self.do_list_objects_test(
            self.client, self.admin,
            user_url(self.admin, 'user-courses-is-admin-for'),
            ag_serializers.CourseSerializer([self.course], many=True).data)

        for user in self.staff, self.enrolled, self.nobody:
            self.do_list_objects_test(
                self.client, user, user_url(user, 'user-courses-is-admin-for'),
                ag_serializers.CourseSerializer([], many=True).data)
    def test_self_list_courses_is_enrolled_in(self):
        self.do_list_objects_test(
            self.client, self.enrolled,
            user_url(self.enrolled, 'user-courses-is-enrolled-in'),
            ag_serializers.CourseSerializer(
                self.enrolled.courses_is_enrolled_in.all(), many=True).data)

        for user in self.admin, self.staff, self.nobody:
            self.do_list_objects_test(
                self.client, user, user_url(user,
                                            'user-courses-is-enrolled-in'),
                ag_serializers.CourseSerializer([], many=True).data)
    def test_self_list_courses_is_staff_for(self):
        self.do_list_objects_test(
            self.client, self.staff,
            user_url(self.staff, 'user-courses-is-staff-for'),
            ag_serializers.CourseSerializer([self.course], many=True).data)

        # Note: Even though admins have staff privileges, they are not
        # listed here with other staff members.
        for user in self.admin, self.enrolled, self.nobody:
            self.do_list_objects_test(
                self.client, user, user_url(user, 'user-courses-is-staff-for'),
                ag_serializers.CourseSerializer([], many=True).data)
 def courses_is_enrolled_in(self, request, *args, **kwargs):
     user = self.get_object()
     return response.Response(
         ag_serializers.CourseSerializer(user.courses_is_enrolled_in.all(),
                                         many=True).data)
 def courses_is_handgrader_for(self, request, *args, **kwargs):
     user = self.get_object()
     return response.Response(
         ag_serializers.CourseSerializer(
             user.courses_is_handgrader_for.all(), many=True).data)