Skip to content
Snippets Groups Projects
Commit 29c3c041 authored by florimondmanca's avatar florimondmanca
Browse files

add tutoringgroup view to student api

parent 854dfe5a
No related branches found
No related tags found
No related merge requests found
"""Student API tests."""
from rest_framework import status
from tests.factory import StudentFactory, TutoringGroupFactory, UserFactory
from tests.test_api.mixins import ProfileEndpointsTestMixin
from tests.utils.api import HyperlinkedAPITestCase
......@@ -61,4 +62,11 @@ class StudentEndpointsTest(ProfileEndpointsTestMixin, HyperlinkedAPITestCase):
return response
def test_retrieve_tutoring_group(self):
pass # TODO
def perform_retrieve_tutoring_group():
obj = self.factory.create()
response = self.client.get(
'/api/students/{}/tutoringgroup/'.format(obj.pk))
return response
self.assertRequiresAuth(perform_retrieve_tutoring_group,
expected_status_code=status.HTTP_200_OK)
"""Users API views."""
from django.contrib.auth import get_user_model
from rest_framework import viewsets
from rest_framework.mixins import (
ListModelMixin, RetrieveModelMixin, CreateModelMixin,
)
from dry_rest_permissions.generics import DRYPermissions
from .models import Tutor, Student, SchoolStaffMember
from .serializers import (
UserSerializer, UserCreateSerializer, UserUpdateSerializer,
TutorSerializer, StudentSerializer, SchoolStaffMembersSerializer,
)
from rest_framework import viewsets
from rest_framework.decorators import detail_route
from rest_framework.response import Response
from tutoring.serializers import TutoringGroupSerializer
from .models import SchoolStaffMember, Student, Tutor
from .serializers import (SchoolStaffMembersSerializer, StudentSerializer,
TutorSerializer, UserCreateSerializer,
UserSerializer, UserUpdateSerializer)
User = get_user_model()
......@@ -104,6 +105,15 @@ class StudentViewSet(ProfileViewSet):
queryset = Student.objects.all()
serializer_class = StudentSerializer
@detail_route()
def tutoringgroup(self, request, pk=None):
"""Retrieve the tutoring group of a student."""
student = self.get_object()
tutoring_group = student.tutoring_group
serializer = TutoringGroupSerializer(tutoring_group,
context={'request': request})
return Response(serializer.data)
class SchoolStaffMemberViewSet(ProfileViewSet):
"""API endpoint that allows school staff members to be viewed or edited."""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment