network_inventory/src/devices/tests/test_device_form.py

55 lines
2.0 KiB
Python
Raw Normal View History

2020-05-01 15:22:53 +02:00
import pytest
from mixer.backend.django import mixer
from django.http import HttpRequest
2020-05-01 15:22:53 +02:00
from devices import forms
pytestmark = pytest.mark.django_db
def test_device_create_form(create_admin_user):
fixture = create_admin_user()
2022-03-27 14:50:44 +02:00
user = mixer.blend("core.InventoryUser", customer=fixture["customer"])
2020-05-01 15:22:53 +02:00
form = forms.DeviceCreateForm(user=user, data={})
2023-07-10 16:47:01 +02:00
assert form.is_valid() is False, "Should be false because no data was given"
2020-05-01 15:22:53 +02:00
2022-03-27 14:50:44 +02:00
data = {"name": "pharma-device1", "customer": 3}
2020-05-01 15:22:53 +02:00
form = forms.DeviceCreateForm(user=user, data=data)
2022-03-27 14:50:44 +02:00
assert (
form.is_valid() is False
), "Should be false because the customer doesn't exist."
2020-05-01 15:22:53 +02:00
2022-03-27 14:50:44 +02:00
data = {"name": "pharma-device1", "customer": fixture["customer"].id}
form = forms.DeviceCreateForm(user=fixture["admin"], data=data)
assert form.is_valid() is True, "Should be valid with the given data."
2020-05-01 15:22:53 +02:00
def test_device_update_form(create_admin_user):
fixture = create_admin_user()
request = HttpRequest()
2022-03-27 14:50:44 +02:00
request.user = fixture["admin"]
form = forms.DeviceUpdateForm(request, data={})
2023-07-10 16:47:01 +02:00
assert form.is_valid() is False, "Should be false because no data was given"
2020-05-01 15:22:53 +02:00
2022-03-27 14:50:44 +02:00
data = {"name": "pharma-device1", "customer": 3}
form = forms.DeviceUpdateForm(request, data=data)
2022-03-27 14:50:44 +02:00
assert (
form.is_valid() is False
), "Should be false because the customer doesn't exist."
2020-05-01 15:22:53 +02:00
2022-03-27 14:50:44 +02:00
data = {"name": "pharma-device1", "customer": fixture["customer"].id}
form = forms.DeviceUpdateForm(request, data=data)
2022-03-27 14:50:44 +02:00
assert form.is_valid() is True, "Should be valid with the given data."
2021-12-28 17:53:00 +01:00
def test_device_create_form_duplicate_device(create_admin_user):
fixture = create_admin_user()
2022-03-27 14:50:44 +02:00
user = mixer.blend("core.InventoryUser", customer=fixture["customer"])
2023-07-10 16:47:01 +02:00
mixer.blend("devices.Device", name="pharma-device1", customer=fixture["customer"])
2022-03-27 14:50:44 +02:00
data = {"name": "pharma-device1", "customer": fixture["customer"].id}
2021-12-28 17:53:00 +01:00
form = forms.DeviceCreateForm(user=user, data=data)
2022-03-27 14:50:44 +02:00
assert (
form.is_valid() is False
), "Should be false because duplicate devices are not allowed."