206 lines
6.6 KiB
Python
206 lines
6.6 KiB
Python
from datetime import datetime
|
|
|
|
from django.test import Client
|
|
from mixer.backend.django import mixer
|
|
import pytest
|
|
|
|
from core.tests import helper
|
|
|
|
|
|
pytestmark = pytest.mark.django_db
|
|
|
|
|
|
def test_device_create_view(create_admin_user):
|
|
fixture = create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
data = {"name": "Test Device", "customer": fixture["customer"].id}
|
|
url = "/customer/{}/create/device/".format(fixture["customer"].id)
|
|
response = client.post(url, data)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_device_delete_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device")
|
|
response = client.post("/delete/device/{}/".format(device.pk))
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_load_device_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
response = client.get("/update/device/{}/".format(device.pk))
|
|
assert response.status_code == 200 and helper.in_content(response, device.name)
|
|
|
|
|
|
def test_device_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
data = {
|
|
"name": "Foo",
|
|
"description": "",
|
|
"serialnumber": "",
|
|
"category": "",
|
|
"owner": "",
|
|
"customer": device.customer.id,
|
|
"manufacturer": "",
|
|
"model": "",
|
|
"location": "",
|
|
"user": "",
|
|
"installation_date": "",
|
|
"save_device": "",
|
|
}
|
|
response = client.post("/update/device/{}/".format(device.pk), data)
|
|
assert response.status_code == 302
|
|
device.refresh_from_db()
|
|
assert device.name == data["name"]
|
|
|
|
|
|
def test_device_update_view_wrong_name(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device1 = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
device2 = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
data = {
|
|
"name": device2.name,
|
|
"description": "",
|
|
"serialnumber": "",
|
|
"category": "",
|
|
"owner": "",
|
|
"customer": device1.customer.id,
|
|
"manufacturer": "",
|
|
"model": "",
|
|
"location": "",
|
|
"user": "",
|
|
"installation_date": "",
|
|
"save_device": "",
|
|
}
|
|
response = client.post("/update/device/{}/".format(device1.pk), data)
|
|
assert response.status_code == 200 and helper.in_content(
|
|
response, "Device with this Name and Customer already exists."
|
|
)
|
|
|
|
|
|
def test_warranty_create_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
data = {
|
|
"customer": device.customer.id,
|
|
"device": device.id,
|
|
"valid_from": "2020-05-24",
|
|
"valid_until": "2020-05-25",
|
|
"warranty_type": "",
|
|
}
|
|
url = "/device/{}/add/warranty/".format(device.id)
|
|
response = client.post(url, data)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_warranty_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
warranty = mixer.blend(
|
|
"devices.Warranty",
|
|
customer=device.customer,
|
|
device=device,
|
|
valid_from="2019-05-24",
|
|
valid_until="2020-05-25",
|
|
)
|
|
data = {
|
|
"customer": device.customer.id,
|
|
"device": device.id,
|
|
"valid_from": "2020-05-24",
|
|
"valid_until": "2020-05-25",
|
|
"warranty_type": "",
|
|
}
|
|
response = client.post("/update/warranty/{}/".format(warranty.pk), data)
|
|
date_from = datetime.strptime(data["valid_from"], "%Y-%m-%d").date()
|
|
assert response.status_code == 302
|
|
warranty.refresh_from_db()
|
|
assert warranty.valid_from == date_from
|
|
|
|
|
|
def test_warranty_delete_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
warranty = mixer.blend(
|
|
"devices.Warranty",
|
|
customer=device.customer,
|
|
device=device,
|
|
valid_from="2019-05-24",
|
|
valid_until="2020-05-25",
|
|
)
|
|
url = "/delete/warranty/{}/".format(warranty.id)
|
|
response = client.post(url)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_device_in_net_create_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
net = mixer.blend("nets.Net", customer=device.customer)
|
|
data = {
|
|
"device": device.id,
|
|
"net": net.id,
|
|
"ip": "192.168.1.20",
|
|
"nic": "",
|
|
"mac_address": "",
|
|
"ip_status": "1",
|
|
}
|
|
url = "/device/{}/add/device-in-net/".format(device.id)
|
|
response = client.post(url, data)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_device_in_net_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
net = mixer.blend("nets.Net", customer=device.customer)
|
|
device_in_net = mixer.blend(
|
|
"devices.DeviceInNet", customer=device.customer, device=device, net=net
|
|
)
|
|
data = {
|
|
"device": device.id,
|
|
"net": net.id,
|
|
"ip": "192.168.1.20",
|
|
"nic": "",
|
|
"mac_address": "",
|
|
"ip_status": "1",
|
|
}
|
|
response = client.post("/update/device-in-net/{}/".format(device_in_net.pk), data)
|
|
assert response.status_code == 302
|
|
device_in_net.refresh_from_db()
|
|
assert device_in_net.ip == data["ip"]
|
|
|
|
|
|
def test_device_in_net_delete_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend("devices.Device", customer=mixer.SELECT)
|
|
net = mixer.blend("nets.Net", customer=device.customer)
|
|
device_in_net = mixer.blend(
|
|
"devices.DeviceInNet", customer=device.customer, device=device, net=net
|
|
)
|
|
url = "/delete/device-in-net/{}/".format(device_in_net.id)
|
|
response = client.post(url)
|
|
assert response.status_code == 302
|