diff --git a/flashcards/tests/test_api.py b/flashcards/tests/test_api.py index 329f733..66ee259 100644 --- a/flashcards/tests/test_api.py +++ b/flashcards/tests/test_api.py @@ -253,3 +253,7 @@ class SectionViewSetTest(APITestCase): def test_section_search(self): response = self.client.get('/api/sections/search/?q=Kramer') self.assertEqual(response.status_code, HTTP_200_OK) + + def test_section_deck(self): + response = self.client.get('/api/sections/deck/') + self.assertEqual(response.status_code, HTTP_200_OK) diff --git a/flashcards/views.py b/flashcards/views.py index 0509b3e..bbb5f26 100644 --- a/flashcards/views.py +++ b/flashcards/views.py @@ -80,14 +80,18 @@ class SectionViewSet(ReadOnlyModelViewSet): qs = Section.search(query.split(' '))[:8] serializer = SectionSerializer(qs, many=True) return Response(serializer.data) -""" + @list_route(methods=['get'], permission_classes=[IsAuthenticated]) def deck(self, request): - query = request.GET.get('q', None) + """ + Gets the contents of a user's deck for a given section. + """ + query = request.GET.get(Flashcard.objects.all(), None) if not query: return Response('[]') - qs = Section.search(query.split(' '))[:8] - serializer = SectionSerializer(qs, many=True) - return Response(serializer.data)""" + qs = Flashcard.objects.all() + qs = qs.filter(userflashcard__user=request.user) + serializer = FlashcardSerializer(qs, many=True) + return Response(serializer.data) class UserSectionListView(ListAPIView):