Skip to content

Commit

Permalink
Merge pull request #10 from Amsterdam/feature/122880-tasks-endpoint
Browse files Browse the repository at this point in the history
add endpoint to retrieve tasks
  • Loading branch information
NvdLaan authored Aug 8, 2024
2 parents 2b2a59c + e8d6ce7 commit 515aab6
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ UWSGI_HTTP=0.0.0.0:8000

# CORS
CORS_ALLOWED_ORIGINS=http://0.0.0.0:5173,http://localhost:5173,https://zwd-frontend.localhost
LOCAL_DEVELOPMENT_AUTHENTICATION=True
LOCAL_DEVELOPMENT_AUTHENTICATION=False
2 changes: 1 addition & 1 deletion .github/workflows/main.workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Create Docker network
run: docker network create zwd_network
- name: Start images
run: docker compose -f docker-compose.local.yml up -d
run: docker compose -f docker-compose.local.yml -f docker-compose.override.yml up -d
- name: Run Tests
run: docker compose exec -T zwd-backend python manage.py test /app/apps

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,6 @@ bash bin/install_pre_commit.sh
Containers should be running to run tests via docker.

```bash
docker compose -f docker-compose.local.yml -f docker-compose.override.yml up -d
docker compose exec -T zwd-backend python manage.py test /app/apps
```
1 change: 0 additions & 1 deletion app/apps/cases/tests/tests_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ def setUp(self):
def test_unauthenticated_get(self):
url = reverse("cases-list")
client = get_unauthenticated_client()
get_authenticated_client()
response = client.get(url)
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)

Expand Down
29 changes: 29 additions & 0 deletions app/apps/workflow/tests/tests_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from django.core import management
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from utils.test_utils import get_authenticated_client, get_unauthenticated_client


class CaseUserTaskApiTests(APITestCase):
def setUp(self):
management.call_command("flush", verbosity=0, interactive=False)
super().setUp()
self.client = get_authenticated_client()

def test_unauthenticated_get(self):
url = reverse("tasks-list")
client = get_unauthenticated_client()
response = client.get(url)
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)

def test_authenticated_get(self):
url = reverse("tasks-list")
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)

def test_authenticated_get_empty(self):
url = reverse("tasks-list")
response = self.client.get(url)
data = response.json()
self.assertEqual(data, [])
11 changes: 11 additions & 0 deletions app/apps/workflow/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,25 @@
from drf_spectacular.utils import extend_schema
from rest_framework import viewsets
from rest_framework.decorators import action
from rest_framework import mixins, viewsets

from .models import CaseUserTask, GenericCompletedTask
from .serializers import (
CaseUserTaskSerializer,
GenericCompletedTaskCreateSerializer,
GenericCompletedTaskSerializer,
)


class CaseUserTaskViewSet(
viewsets.GenericViewSet,
mixins.RetrieveModelMixin,
mixins.ListModelMixin,
):
serializer_class = CaseUserTaskSerializer
queryset = CaseUserTask.objects.filter(completed=False)


class GenericCompletedTaskViewSet(viewsets.GenericViewSet):
serializer_class = GenericCompletedTaskSerializer
queryset = GenericCompletedTask.objects.all()
Expand Down
3 changes: 2 additions & 1 deletion app/config/urls.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from apps.cases.views import CaseViewSet
from apps.workflow.views import GenericCompletedTaskViewSet
from apps.workflow.views import CaseUserTaskViewSet, GenericCompletedTaskViewSet
from django.conf.urls import include
from django.contrib import admin
from django.http import HttpResponse
Expand All @@ -10,6 +10,7 @@
router = DefaultRouter()
router.register(r"cases", CaseViewSet, basename="cases")
router.register(r"generic-tasks", GenericCompletedTaskViewSet, basename="generictasks")
router.register(r"tasks", CaseUserTaskViewSet, basename="tasks")


def ok(request):
Expand Down
6 changes: 6 additions & 0 deletions docker-compose.override.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: '3.8'

services:
zwd-backend:
environment:
- LOCAL_DEVELOPMENT_AUTHENTICATION=True

0 comments on commit 515aab6

Please sign in to comment.