In this blog post, our developer Dani will explain how he writes tests and organises code inside services following the 'functional core, imperative shell' pattern.