There is a part of pushing assumptions away that I found most challenging, which is how both the consumer and the producer interact to define a contract. For example, the consumer has opinions on the fact that a URL must be provided in the response, but the fact that the producer is located elsewhere (and reachable through HTTP) implies that a Promise needs to be used while adding all sort of possible error conditions.
There is a part of pushing assumptions away that I found most challenging, which is how both the consumer and the producer interact to define a contract. For example, the consumer has opinions on the fact that a URL must be provided in the response, but the fact that the producer is located elsewhere (and reachable through HTTP) implies that a Promise needs to be used while adding all sort of possible error conditions.
Ha, testing across a HTTP boundary might have to be a subject for another time 🙂