28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
import pytest
|
|
from django.core.exceptions import ValidationError
|
|
from modules.fleet.models import Vehicle
|
|
from django.contrib.auth import get_user_model
|
|
|
|
@pytest.mark.django_db
|
|
def test_vehicle_servicer_one_to_one_constraint(test_user):
|
|
|
|
# Prvo vozilo prolazi
|
|
Vehicle.objects.create(registration_number="ZG-111-AA", assigned_servicer=test_user)
|
|
|
|
# Drugo vozilo za istog servisera mora baciti IntegrityError
|
|
with pytest.raises(Exception): # Django IntegrityError
|
|
Vehicle.objects.create(registration_number="ZG-222-BB", assigned_servicer=test_user)
|
|
|
|
@pytest.mark.django_db
|
|
def test_vehicle_next_service_logic():
|
|
# current=12000, interval=15000 -> next_service_at = 15000
|
|
vehicle = Vehicle.objects.create(
|
|
registration_number="ZG-001",
|
|
current_mileage=12000,
|
|
service_interval_km=15000
|
|
)
|
|
assert vehicle.next_service_at() == 15000
|
|
|
|
# current=16000, interval=15000 -> next_service_at = 30000
|
|
vehicle.current_mileage = 16000
|
|
assert vehicle.next_service_at() == 30000 |