diff --git a/src/main/java/io/autoinvestor/application/RegisterDecisionCommandHandler.java b/src/main/java/io/autoinvestor/application/RegisterDecisionCommandHandler.java index b333e10..a1598bf 100644 --- a/src/main/java/io/autoinvestor/application/RegisterDecisionCommandHandler.java +++ b/src/main/java/io/autoinvestor/application/RegisterDecisionCommandHandler.java @@ -27,6 +27,10 @@ public void handle(RegisterDecisionCommand command) { ? Decision.empty() : this.eventStore.get(DecisionId.from(decisionFromReadModel.get().decisionId())); + if (decision == null) { + throw new IllegalStateException("Decision not found for ID: " + command.assetId() + " when it should be present."); + } + decision.takeDecision( command.assetId(), command.feeling(), diff --git a/src/main/java/io/autoinvestor/infrastructure/repositories/MongoEventStoreRepository.java b/src/main/java/io/autoinvestor/infrastructure/repositories/MongoEventStoreRepository.java index 6305588..d6809c0 100644 --- a/src/main/java/io/autoinvestor/infrastructure/repositories/MongoEventStoreRepository.java +++ b/src/main/java/io/autoinvestor/infrastructure/repositories/MongoEventStoreRepository.java @@ -39,7 +39,7 @@ public void save(Decision decision) { @Override public Decision get(DecisionId decisionId) { Query q = Query.query( - Criteria.where("aggregateId") + Criteria.where("decisionId") .is(decisionId.toString()) ) .with(Sort.by("version"));