interaktivna Tablica radnih sati, db
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
from django.test import TestCase, RequestFactory
|
||||
from django.contrib.auth import get_user_model
|
||||
from unittest.mock import patch
|
||||
from rest_framework.test import APIClient
|
||||
|
||||
from modules.task_management.views import TaskViewSet
|
||||
from modules.task_management.serializers import TaskSerializer
|
||||
from modules.task_management.models import Task
|
||||
from modules.task_management.models import Task, TaskTemplate, TaskTemplateEntry
|
||||
from modules.fleet.models import Vehicle
|
||||
|
||||
|
||||
@@ -17,6 +18,8 @@ class TaskViewSetTests(TestCase):
|
||||
self.view.request = self.factory.post("/")
|
||||
self.view.request.user = self.user
|
||||
self.vehicle = Vehicle.objects.create(registration_number="ZG-TV-01", asset_type='crane')
|
||||
self.api_client = APIClient()
|
||||
self.api_client.force_authenticate(user=self.user)
|
||||
|
||||
@patch("modules.task_management.views.TaskService.create_task_entry")
|
||||
def test_perform_create_calls_service(self, mock_create):
|
||||
@@ -53,4 +56,32 @@ class TaskViewSetTests(TestCase):
|
||||
task = Task.objects.create(title="ToDelete", description="", assigned_to=self.user)
|
||||
self.view.perform_destroy(task)
|
||||
task.refresh_from_db()
|
||||
assert task.is_active is False
|
||||
assert task.is_active is False
|
||||
|
||||
def test_template_created_task_is_visible_in_service_records_endpoint(self):
|
||||
template = TaskTemplate.objects.create(
|
||||
code='template-api-service-records',
|
||||
title='Template API',
|
||||
description='Opis',
|
||||
status='aktivan',
|
||||
)
|
||||
TaskTemplateEntry.objects.create(
|
||||
task_template=template,
|
||||
sort_order=1,
|
||||
title='Korak API',
|
||||
work_description='Opis API koraka',
|
||||
)
|
||||
|
||||
response = self.api_client.post(
|
||||
"/api/tasks/tasks/",
|
||||
data={"template_id": str(template.id), "vehicle": str(self.vehicle.id)},
|
||||
format="json",
|
||||
)
|
||||
self.assertEqual(response.status_code, 201, response.content)
|
||||
created_task_id = str(response.json()["id"])
|
||||
|
||||
service_records_response = self.api_client.get("/api/fleet/service-records/")
|
||||
self.assertEqual(service_records_response.status_code, 200, service_records_response.content)
|
||||
payload = service_records_response.json()
|
||||
rows = payload if isinstance(payload, list) else payload.get("results", [])
|
||||
self.assertTrue(any(str(row.get("task") or "") == created_task_id for row in rows))
|
||||
Reference in New Issue
Block a user