network_inventory/src/devices/tests/test_warranty_form.py

53 lines
1.5 KiB
Python

import pytest
from mixer.backend.django import mixer
from devices import forms
pytestmark = pytest.mark.django_db
def test_warranty_create_form(create_admin_user):
create_admin_user()
form = forms.WarrantyCreateForm(data={})
assert form.is_valid() is False, "Should be false because no data was given"
device = mixer.blend("devices.Device")
data = {
"device": device,
"valid_from": "2010-01-01",
"valid_until": "2020-01-01",
}
form = forms.WarrantyCreateForm(data=data)
assert form.is_valid() is True, "Should be valid with the given data."
data = {
"device": device,
"valid_from": "2010-01-01",
"valid_until": "2000-01-01",
}
form = forms.WarrantyCreateForm(data=data)
assert (
form.is_valid() is False
), "Should be false because valid from is before valid until"
assert (
"Valid from date must be before valid until date" == form.errors["__all__"][0]
)
def test_warranty_update_form(create_admin_user):
create_admin_user()
warranty = mixer.blend(
"devices.Warranty", valid_from="2010-01-01", valid_until="2020-01-01"
)
data = {
"warranty": warranty,
"valid_from": "2010-01-01",
"valid_until": "2000-01-01",
}
form = forms.WarrantyUpdateForm(data=data)
assert form.is_valid() is False
assert (
"Valid from date must be before valid until date" == form.errors["__all__"][0]
)