라서 데이터 정합성 문제가 발생한다. 즉, 첫 번째 트랜잭션이 끝났지만 두 번째 트랜잭션이 끝나지 않아서
생기는 문제다. 이런 상황을 그냥 넘어가야 하는지 또는 문제를 알리고 조치를 취해야 하는지에 대해 생각해
봐야 한다. 더 자세한 내용은
14
장을 참고하기 바란다.
9.3.1
새로운 이벤트
배치 수량의 변경을 알려주는 이벤트는 단순하다. 단지 배치에 대한 참조와 새로운 수량만 있
으면 된다.
새 이벤트(
src
/
allocation
/
domain
/
events
.
py
)
@dataclass
class BatchQuantityChanged(Event):
ref: str
qty: int
9.4
새 핸들러 시범운영하기
4
장에서 배운 교훈을 따르면, ‘높은 기어비’를 사용해 일하면서 단위 테스트를 가장 최상위 수
준(여기서는 이벤트 수준)에서 작성할 수 있다. 다음은 테스트 코드다.
change
_
batch
_
quantity
에 대한 핸들러 테스트(
tests
/
unit
/
test
_
handlers
.
py
)
class TestChangeBatchQuantity:
def test_changes_available_quantity(self):
uow = ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.