Add record filtering by playbook id

Change-Id: Iadb7840e09f35f8e6bfd5c360edd4b3be7f7f5e4
This commit is contained in:
David Moreau Simard 2018-11-15 11:50:03 -05:00
parent 1f70395626
commit cd66991bd1
2 changed files with 11 additions and 0 deletions

View File

@ -71,3 +71,13 @@ class RecordTestCase(APITestCase):
self.assertEqual(200, request.status_code)
record_updated = models.Record.objects.get(id=record.id)
self.assertEqual("update", record_updated.key)
def test_get_records_by_playbook(self):
playbook = factories.PlaybookFactory()
record = factories.RecordFactory(playbook=playbook, key="by_playbook")
factories.RecordFactory(key="another_record")
request = self.client.get("/api/v1/records?playbook=%s" % playbook.id)
self.assertEqual(2, models.Record.objects.all().count())
self.assertEqual(1, len(request.data["results"]))
self.assertEqual(record.key, request.data["results"][0]["key"])
self.assertEqual(record.playbook.id, request.data["results"][0]["playbook"])

View File

@ -75,6 +75,7 @@ class FileViewSet(viewsets.ModelViewSet):
class RecordViewSet(viewsets.ModelViewSet):
queryset = models.Record.objects.all()
serializer_class = serializers.RecordSerializer
filter_fields = ("playbook",)
class StatsViewSet(viewsets.ModelViewSet):