Fix update

This commit is contained in:
littlewolf 2019-09-24 20:22:27 +03:00
parent a55695b120
commit d006184b14
2 changed files with 9 additions and 7 deletions

View File

@ -1,4 +1,3 @@
from functools import wraps
def with_base_attributes(cls): def with_base_attributes(cls):
@ -16,7 +15,7 @@ def with_base_attributes(cls):
obj = self.Meta.model.objects.create(**validated_data) obj = self.Meta.model.objects.create(**validated_data)
return obj return obj
def update(self, validated_data): def update(self, instance, validated_data):
user = None user = None
request = self.context.get("request") request = self.context.get("request")
@ -26,8 +25,10 @@ def with_base_attributes(cls):
if user is not None: if user is not None:
validated_data['modified_by'] = user validated_data['modified_by'] = user
obj = self.Meta.model.objects.create(**validated_data) obj = self.Meta.model
return obj obj.objects.filter(pk=instance.id).update(**validated_data)
return instance
setattr(cls, "create", create) setattr(cls, "create", create)
setattr(cls, "update", update) setattr(cls, "update", update)

View File

@ -96,9 +96,9 @@ class BaseAttributeTests(BaseTestCase):
self.assertEqual(self.user, employee.modified_by) self.assertEqual(self.user, employee.modified_by)
modify_user = User.objects.create_user( modify_user = User.objects.create_user(
username='sedragurda', username='sedragurda2',
password='sedragurdaredips19', password='sedragurdaredips192',
email='sedragurda@desoz.com', email='sedragurda2@desoz.com',
) )
modify_tokkens = User.create_jwt_tokens(modify_user) 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) response = self.client.patch('/api/back/establishments/employees/1/', data=update_data)
self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.status_code, status.HTTP_200_OK)
employee.refresh_from_db()
self.assertEqual(modify_user, employee.modified_by) self.assertEqual(modify_user, employee.modified_by)