Hi Ryan,
I’m not Alberto, but I can try to response to your question.
The most important tests are related the yellow (?) rectangular sticker, the aggregate.
The aggregate has to contain your business logic and it has to be tested very well.
BDD is a good approach and pretty easy if you define, during the design workshop, for each command the PRE, POST conditions and invariants. At the end you are writing the BDD test on paper and the implementation part is pretty easy.
The other rectangular stickers are:
- Purple, the policy. The policy is a rule, a trigger. Here there isn’t business logic to test, you could test the process eventually. So at this level You are testing the interaction between aggregates. Something happened then a command is triggered.
- Pink: the external service: I considered it like a black box. It’s something outside my context. I know only that it do something and nothing more. No test here.
Excluding the red and yellow square stickers, used to highlight questions and notes, I remember only the green one.
The green one is the read model.
Best,
Stefano