Skip to content

Commit c8984a4

Browse files
author
Sergio García Prado
committed
ISSUE #?
* Fix bug related with the `EntityRepository.update` method.
1 parent 4ffc920 commit c8984a4

File tree

2 files changed

+12
-7
lines changed
  • packages/core/minos-microservice-aggregate

2 files changed

+12
-7
lines changed

packages/core/minos-microservice-aggregate/minos/aggregate/entities/repositories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ async def update(self, instance: T, **kwargs) -> tuple[T, Optional[Delta]]:
197197
previous = await self.get(type(instance), instance.uuid)
198198
delta = instance.diff(previous)
199199
if not len(delta.fields_diff):
200-
return instance
200+
return instance, None
201201

202202
entry = await self._delta_repository.submit(delta)
203203

packages/core/minos-microservice-aggregate/tests/test_aggregate/test_entities/test_repositories/test_base.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from minos.aggregate import (
1313
AlreadyDeletedException,
1414
Condition,
15+
Delta,
1516
DeltaRepositoryException,
1617
EntityRepository,
1718
NotFoundException,
@@ -145,18 +146,22 @@ async def test_update(self):
145146
self.assertEqual(expected, car)
146147
self.assertEqual(car, await self.repository.get(Car, car.uuid))
147148

148-
await self.repository.update(car, doors=5)
149+
observed, delta = await self.repository.update(car, doors=5)
150+
self.assertIsInstance(delta, Delta)
151+
149152
expected = Car(5, "red", uuid=car.uuid, version=3, created_at=car.created_at, updated_at=car.updated_at)
150-
self.assertEqual(expected, car)
151-
self.assertEqual(car, await self.repository.get(Car, car.uuid))
153+
self.assertEqual(expected, observed)
154+
self.assertEqual(observed, await self.repository.get(Car, expected.uuid))
152155

153156
async def test_update_no_changes(self):
154157
car, _ = await self.repository.create(Car, doors=3, color="blue")
155158

156-
await self.repository.update(car, color="blue")
159+
observed, delta = await self.repository.update(car, color="blue")
160+
self.assertIsNone(delta)
161+
157162
expected = Car(3, "blue", uuid=car.uuid, version=1, created_at=car.created_at, updated_at=car.updated_at)
158-
self.assertEqual(expected, car)
159-
self.assertEqual(car, await self.repository.get(Car, car.uuid))
163+
self.assertEqual(expected, observed)
164+
self.assertEqual(observed, await self.repository.get(Car, expected.uuid))
160165

161166
async def test_update_raises(self):
162167
with self.assertRaises(DeltaRepositoryException):

0 commit comments

Comments
 (0)