Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
NvdLaan committed Jan 7, 2025
1 parent 9b9a1f8 commit 862d819
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
9 changes: 8 additions & 1 deletion app/apps/cases/tests/tests_api.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from unittest.mock import patch
from django.core import management
from django.urls import reverse
from rest_framework import status
Expand All @@ -13,6 +14,9 @@ def setUp(self):
self.client = get_authenticated_client()
self.case = self._create_case()

def teardown(self):
self.celery_worker.__exit__(None, None, None)

def test_unauthenticated_get(self):
url = reverse("cases-list")
client = get_unauthenticated_client()
Expand Down Expand Up @@ -126,7 +130,10 @@ def _create_sample_document(self):
response = self.client.post(url, data=document_data, format="multipart")
return response.data

def _create_case(self):
# Django test create a test db, celery is unaware of that db so mock celery methods
@patch("apps.cases.views.CaseViewSet.start_workflow")
def _create_case(self, mock_start_workflow):
mock_start_workflow.return_value = "task_start_worflow: completed"
url = reverse("cases-list")
data = {"description": "Test case description"}

Expand Down
5 changes: 4 additions & 1 deletion app/apps/cases/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,16 @@ def create(self, request):
contacts_data = validated_data.pop("contacts", [])
case = Case.objects.create(**validated_data)
Contact.process_contacts(case, contacts_data)
self.start_workflow(case)
return Response(CaseSerializer(case).data, status=201)

def start_workflow(self, case):
task = task_create_main_worflow_for_case.delay(case_id=case.id)
task.wait(timeout=None, interval=0.5)
start_workflow_task = task_start_worflow.delay(
CaseWorkflow.objects.get(case=case).id
)
start_workflow_task.wait(timeout=None, interval=0.5)
return Response(CaseSerializer(case).data, status=201)

@action(
detail=False, methods=["post"], url_path="documents", name="cases-documents"
Expand Down

0 comments on commit 862d819

Please sign in to comment.