devices need to be unique per customer

This commit is contained in:
Andreas Zweili 2021-12-28 17:53:00 +01:00
parent 641a3a7d31
commit bb70c0f56b
2 changed files with 13 additions and 0 deletions

View File

@ -78,6 +78,7 @@ class Device(models.Model):
class Meta:
ordering = ['name']
unique_together = ("name", "customer")
def __str__(self):
return self.name

View File

@ -41,3 +41,15 @@ def test_device_update_form(create_admin_user):
"customer": fixture['customer'].id}
form = forms.DeviceUpdateForm(data=data)
assert form.is_valid() is True, ("Should be valid with the given data.")
def test_device_create_form_duplicate_device(create_admin_user):
fixture = create_admin_user()
user = mixer.blend("auth.User", customer=fixture['customer'])
mixer.blend("devices.Device", name="pharma-device1",
customer=fixture['customer'])
data = {"name": "pharma-device1",
"customer": fixture['customer'].id}
form = forms.DeviceCreateForm(user=user, data=data)
assert form.is_valid() is False, (
"Should be false because duplicate devices are not allowed.")