Skip to content

Commit

Permalink
Revert "Add an unique check for motion_category.prefix. (#1626)" (#1828)
Browse files Browse the repository at this point in the history
* Revert "Add an unique check for motion_category.prefix. (#1626)"

This reverts commit 787555a.

* Add the non unique case tests
  • Loading branch information
reiterl authored Jul 25, 2023
1 parent 0343b26 commit e18431e
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 35 deletions.
Original file line number Diff line number Diff line change
@@ -1,41 +1,12 @@
from typing import Any, Dict

from ....models.models import MotionCategory
from ....permissions.permissions import Permissions
from ....shared.exceptions import ActionException
from ....shared.filters import And, FilterOperator
from ...action import Action
from ...action_set import ActionSet
from ...generics.update import UpdateAction
from ...mixins.sequential_numbers_mixin import SequentialNumbersMixin
from ...util.default_schema import DefaultSchema
from ...util.register import register_action_set


class PrefixUniqueMixin(Action):
def update_instance(self, instance: Dict[str, Any]) -> Dict[str, Any]:
instance = super().update_instance(instance)
if instance.get("prefix"):
meeting_id = self.get_meeting_id(instance)
if self.datastore.exists(
"motion_category",
And(
FilterOperator("prefix", "=", instance["prefix"]),
FilterOperator("id", "!=", instance["id"]),
FilterOperator("meeting_id", "=", meeting_id),
),
):
raise ActionException(
f"Prefix '{instance['prefix']}' is not unique in the meeting."
)
return instance


class MotionCategoryCreate(PrefixUniqueMixin, SequentialNumbersMixin):
pass


class MotionCategoryUpdate(PrefixUniqueMixin, UpdateAction):
class MotionCategoryCreate(SequentialNumbersMixin):
pass


Expand All @@ -56,4 +27,3 @@ class MotionCategoryActionSet(ActionSet):
delete_schema = DefaultSchema(MotionCategory()).get_delete_schema()
permission = Permissions.Motion.CAN_MANAGE
CreateActionClass = MotionCategoryCreate
UpdateActionClass = MotionCategoryUpdate
11 changes: 9 additions & 2 deletions tests/system/action/motion_category/test_create.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,15 @@ def test_create_not_unique_prefix(self) -> None:
"prefix": "test",
},
)
self.assert_status_code(response, 400)
assert "Prefix 'test' is not unique in the meeting." in response.json["message"]
self.assert_status_code(response, 200)
self.assert_model_exists(
"motion_category/2",
{
"name": "test_Xcdfgee",
"meeting_id": 222,
"prefix": "test",
},
)

def test_create_no_permissions(self) -> None:
self.base_permission_test(
Expand Down
11 changes: 9 additions & 2 deletions tests/system/action/motion_category/test_update.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,15 @@ def test_update_non_unique_prefix(self) -> None:
"prefix": "test",
},
)
self.assert_status_code(response, 400)
assert "Prefix 'test' is not unique in the meeting." in response.json["message"]
self.assert_status_code(response, 200)
self.assert_model_exists(
"motion_category/111",
{
"name": "name_srtgb123",
"prefix": "test",
"meeting_id": 222,
},
)

def test_update_no_permission(self) -> None:
self.base_permission_test(
Expand Down

0 comments on commit e18431e

Please sign in to comment.