A code kata by @tpierrain
Implement a "service" that is able to provide Pasta Recipes following the outside-in TDD approach and the hexagonal architecture to prevent domain code from being impacted by infrastructure code.
- The "service" should allow its consumers:
- to get the Recipe (i.e. the list of the ingredients) of a Pasta given its name
- to get the list of all the Pastas that have a given Ingredient
- to add the Recipe of a new Pasta and to persist it
- A Pasta Recipe is a list of ingredient associated with the name of a Pasta. E.g.:
- gnocchi(eggs-potatoes-flour)
- spaghetti(eggs-flour)
- organic spaghetti(organic eggs-flour)
- spinach farfalle(eggs-flour-spinach)
- tagliatelle(eggs-flour)
- The domain model should not be the same as the one for the communication with the service consumers (i.e. the DTOs).