Files
mariomitte 5d39e048ba
Some checks failed
ERP CI Pipeline / test (push) Has been cancelled
prvi kod za live uporabu
2026-07-09 21:21:17 +02:00

33 lines
1.5 KiB
Python

import uuid
from django.test import TestCase
from django.contrib.auth import get_user_model
from modules.fleet.models import Vehicle, WorkOrder, VehicleServiceRecord
class FleetModelTests(TestCase):
def setUp(self):
User = get_user_model()
self.user = User.objects.create_user(username="tech", email=f"tech+{uuid.uuid4()}@example.test", password="pass")
self.vehicle = Vehicle.objects.create(
registration_number=f"ZG-{uuid.uuid4().hex[:6].upper()}",
make="Toyota",
model="Yaris",
current_mileage=12000,
service_interval_km=15000,
assigned_servicer=self.user
)
def test_next_service_at(self):
self.assertEqual(self.vehicle.next_service_at(), 15000)
def test_work_order_updates_vehicle_mileage(self):
wo = WorkOrder.objects.create(vehicle=self.vehicle, creator=self.user, start_mileage=12000, end_mileage=12500)
self.vehicle.refresh_from_db()
self.assertEqual(self.vehicle.current_mileage, 12500)
self.assertEqual(wo.distance, 500)
def test_service_record_sets_next_service_due_and_updates_vehicle(self):
rec = VehicleServiceRecord.objects.create(vehicle=self.vehicle, performed_by=self.user, description="Oil change", mileage=13000, parts="oil;filter", cost="50.00")
self.vehicle.refresh_from_db()
self.assertEqual(rec.next_service_due_at, 13000 + self.vehicle.service_interval_km)
self.assertEqual(self.vehicle.current_mileage, 13000)