feat: proširi prikaz dizalice i vlasnika u zadacima
Dodaj detalje dizalice (proizvođač, model i SN) te vlasnika u modal radnog zadatka i kalendar zadataka, uz zajednički frontend helper za DRY prikaz. Proširi Task API serializer dodatnim poljima za prikaz dizalice/vlasnika i ažuriraj testove serializera za nova izlazna polja. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -4,13 +4,23 @@ from rest_framework.exceptions import ValidationError
|
||||
from django.contrib.auth import get_user_model
|
||||
from modules.task_management.models import Task
|
||||
from modules.fleet.models import Vehicle, WorkOrder
|
||||
from modules.crm.models import Client
|
||||
|
||||
|
||||
class TaskSerializerTests(TestCase):
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.user = User.objects.create_user(username="task-user-base", email="task-user-base@example.test", password="pass")
|
||||
self.vehicle = Vehicle.objects.create(registration_number="ZG-TSK-01", asset_type='crane')
|
||||
self.client = Client.objects.create(name="Klijent zadatka")
|
||||
self.vehicle = Vehicle.objects.create(
|
||||
registration_number="ZG-TSK-01",
|
||||
asset_type='crane',
|
||||
make='Liebherr',
|
||||
model='LTM',
|
||||
crane_serial_number='123456',
|
||||
client=self.client,
|
||||
is_company_vehicle=False,
|
||||
)
|
||||
|
||||
def test_validate_title_too_short_raises(self):
|
||||
serializer = TaskSerializer(data={"title": "ab", "description": "", "status": "aktivan", "vehicle": str(self.vehicle.id)})
|
||||
@@ -67,6 +77,15 @@ class TaskSerializerTests(TestCase):
|
||||
serializer = TaskSerializer(instance=task)
|
||||
assert serializer.data['scheduled_date'] is None
|
||||
|
||||
def test_vehicle_details_are_included_in_serialized_output(self):
|
||||
task = Task.objects.create(title="Task crane details", assigned_to=self.user, vehicle=self.vehicle)
|
||||
serializer = TaskSerializer(instance=task)
|
||||
assert serializer.data['vehicle_make'] == 'Liebherr'
|
||||
assert serializer.data['vehicle_model'] == 'LTM'
|
||||
assert serializer.data['crane_serial_number'] == '123456'
|
||||
assert serializer.data['vehicle_owner_name'] == 'Klijent zadatka'
|
||||
assert serializer.data['vehicle_asset_type'] == 'crane'
|
||||
|
||||
def test_scheduled_date_accepts_valid_date(self):
|
||||
serializer = TaskSerializer(
|
||||
data={"title": "Task mit datum", "status": "aktivan",
|
||||
|
||||
Reference in New Issue
Block a user