chore(): test and validation improvements
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user