Functional Programming Unit Testing in Node (Part 4)

Welcome to Part 4 where we show how to do concurrency which is a lot easier to get “for free" using pure functions, we compose both async and synchronous functions, and we utilize a test coverage report to known where to next focus our refactoring and testing efforts.
This is a six-part series on refactoring imperative code in Node to a functional programming style with unit tests. You are currently on Part 4.