Design the Virtual Wallet using Aggregate Roots, Entities and Value Objects and cover the uses cases with Unit Tests. At the Clean Architecture Manga you could learn the DDD patterns and TDD at TheThreeRulesOfTdd.
Clone this repository to your machine, compile and test it:
git clone https://github.com/ivanpaulovich/ddd-tdd-rich-domain.git
cd ddd-tdd-rich-domain
dotnet test
This project was designed do cover the following use cases and requirements:
- A Customer could register a new Checking Account using its personal details.
- Allow a customer to deposit funds into an existing account.
- Allow the customer to withdraw funds from an existing account.
- Allow the customer to close a Checking Account only if the balance is zero.
- Do not allow the Customer to Withdraw more than the existing funds.
- Allow to get the account details.
- Allow to get the customer details.
- .NET Core 3.1
- xUnit
Build a Rich Domain from tests using DDD Building Blocks like Aggregate Roots, Entities and Value Objects with the help of kata-initial
folder files.
- Customer and Checking Account Aggregate Roots.
- Credit and Debit Entities.
- Amount, Name and SSN Value Objects.