chore(): test and validation improvements

This commit is contained in:
ITQ
2026-02-13 10:39:11 +03:00
parent 9c45d9883e
commit 94d99c72e6
12 changed files with 96 additions and 177 deletions
+10 -7
View File
@@ -1,5 +1,6 @@
from typing import Any
from config.errors import ConflictError
from django.core.exceptions import ValidationError
from django.db import transaction
@@ -91,13 +92,15 @@ def approver_group_create(
) -> ApproverGroup:
_validate_experimenter(experimenter)
if ApproverGroup.objects.filter(experimenter=experimenter).exists():
raise ValidationError(
{
"experimenter": (
f"An approver group already exists for "
f"experimenter '{experimenter.username}'."
)
}
raise ConflictError(
ValidationError(
{
"experimenter": (
f"An approver group already exists for "
f"experimenter '{experimenter.username}'."
)
}
)
)
approvers: list[User] = []
if approver_ids:
@@ -14,6 +14,7 @@ from apps.reviews.selectors import (
approver_group_list_for_approver,
)
from apps.reviews.services import (
ConflictError,
approver_group_add_approver,
approver_group_create,
approver_group_delete,
@@ -73,7 +74,7 @@ class ApproverGroupModelTest(TestCase):
def test_one_to_one_constraint(self) -> None:
approver_group_create(experimenter=self.experimenter)
with self.assertRaises(ValidationError):
with self.assertRaises(ConflictError):
approver_group_create(
experimenter=self.experimenter,
min_approvals=1,
@@ -148,7 +149,7 @@ class ApproverGroupCreateServiceTest(TestCase):
def test_create_rejects_duplicate_group(self) -> None:
approver_group_create(experimenter=self.experimenter)
with self.assertRaises(ValidationError):
with self.assertRaises(ConflictError):
approver_group_create(experimenter=self.experimenter)
def test_create_min_approvals_zero_raises(self) -> None:
+3 -3
View File
@@ -13,12 +13,12 @@ class UserAdmin(BaseUserAdmin):
User.role.field.name,
User.first_name.field.name,
User.last_name.field.name,
User._meta.get_field("is_active").name,
User.is_active.field.name,
User.is_staff.field.name,
)
list_filter = (
User.role.field.name,
User._meta.get_field("is_active").name,
User.is_active.field.name,
User.is_staff.field.name,
User.is_superuser.field.name,
)
@@ -56,7 +56,7 @@ class UserAdmin(BaseUserAdmin):
_("Permissions"),
{
"fields": (
User._meta.get_field("is_active").name,
User.is_active.field.name,
User.is_staff.field.name,
User.is_superuser.field.name,
User.groups.field.name,