diff --git a/apps/utils/decorators.py b/apps/utils/decorators.py index 12233021..e22fc3dc 100644 --- a/apps/utils/decorators.py +++ b/apps/utils/decorators.py @@ -1,4 +1,3 @@ -from functools import wraps def with_base_attributes(cls): @@ -16,7 +15,7 @@ def with_base_attributes(cls): obj = self.Meta.model.objects.create(**validated_data) return obj - def update(self, validated_data): + def update(self, instance, validated_data): user = None request = self.context.get("request") @@ -26,8 +25,10 @@ def with_base_attributes(cls): if user is not None: validated_data['modified_by'] = user - obj = self.Meta.model.objects.create(**validated_data) - return obj + obj = self.Meta.model + obj.objects.filter(pk=instance.id).update(**validated_data) + + return instance setattr(cls, "create", create) setattr(cls, "update", update) diff --git a/apps/utils/tests.py b/apps/utils/tests.py index dafe0fee..8645a020 100644 --- a/apps/utils/tests.py +++ b/apps/utils/tests.py @@ -96,9 +96,9 @@ class BaseAttributeTests(BaseTestCase): self.assertEqual(self.user, employee.modified_by) modify_user = User.objects.create_user( - username='sedragurda', - password='sedragurdaredips19', - email='sedragurda@desoz.com', + username='sedragurda2', + password='sedragurdaredips192', + email='sedragurda2@desoz.com', ) modify_tokkens = User.create_jwt_tokens(modify_user) @@ -115,4 +115,5 @@ class BaseAttributeTests(BaseTestCase): response = self.client.patch('/api/back/establishments/employees/1/', data=update_data) self.assertEqual(response.status_code, status.HTTP_200_OK) + employee.refresh_from_db() self.assertEqual(modify_user, employee.modified_by)