Commit c2b6dc85289a4cd1259acf873f432fd9be974322
1 parent
e8cd6d2e30
Exists in
master
Wrote test for section/{pk}/flashcards
Showing 3 changed files with 20 additions and 4 deletions Side-by-side Diff
flashcards/fields.py
View file @
c2b6dc8
flashcards/tests/test_api.py
View file @
c2b6dc8
... | ... | @@ -200,6 +200,8 @@ |
200 | 200 | def setUp(self): |
201 | 201 | self.client.login(email='none@none.com', password='1234') |
202 | 202 | self.user = User.objects.get(email='none@none.com') |
203 | + flashcard = Flashcard(text="jason", section=Section.objects.get(pk=1), material_date=now(), author=self.user) | |
204 | + flashcard.save() | |
203 | 205 | |
204 | 206 | def test_list_sections(self): |
205 | 207 | response = self.client.get("/api/sections/", format="json") |
... | ... | @@ -243,4 +245,8 @@ |
243 | 245 | response = self.client.post('/api/sections/%d/drop/' % section.pk) |
244 | 246 | self.assertEqual(response.status_code, HTTP_204_NO_CONTENT) |
245 | 247 | self.assertFalse(self.user.sections.filter(pk=section.pk).exists()) |
248 | + | |
249 | + def test_section_flashcards(self): | |
250 | + response = self.client.get('/api/sections/1/flashcards/') | |
251 | + self.assertEqual(response.status_code, HTTP_200_OK) |
flashcards/views.py
View file @
c2b6dc8
... | ... | @@ -259,6 +259,15 @@ |
259 | 259 | serializer_class = FlashcardSerializer |
260 | 260 | permission_classes = [IsAuthenticated] |
261 | 261 | |
262 | + # Override create in CreateModelMixin | |
263 | + def create(self, request, *args, **kwargs): | |
264 | + serializer = self.get_serializer(data=request.data) | |
265 | + serializer.is_valid(raise_exception=True) | |
266 | + serializer.validated_data['author'] = request.user | |
267 | + self.perform_create(serializer) | |
268 | + headers = self.get_success_headers(serializer.data) | |
269 | + return Response(serializer.data, status=HTTP_201_CREATED, headers=headers) | |
270 | + | |
262 | 271 | @detail_route(methods=['post'], permission_classes=[IsAuthenticated]) |
263 | 272 | def report(self, request, pk): |
264 | 273 | """ |
... | ... | @@ -285,9 +294,7 @@ |
285 | 294 | """ |
286 | 295 | user = request.user |
287 | 296 | flashcard = self.get_object() |
288 | - user_card, created = UserFlashcard.objects.get_or_create(user=user, | |
289 | - flashcard=flashcard, | |
290 | - mask=flashcard.mask) | |
297 | + user_card, created = UserFlashcard.objects.get_or_create(user=user, flashcard=flashcard) | |
291 | 298 | user_card.save() |
292 | 299 | return Response(status=HTTP_204_NO_CONTENT) |