Replace spec of customer's internal logic
Replace spec of customer's internal logic

Specs should test public methods. Private methods should be able to
change without specs breaking.

The specs were also just mirroring the code and didn't really have any
meaning. So I wrote new ones which are hopefully clearer.

There's actually a case which I don't quite understand. Why don't we
require a customer for a new complete order? It means that we don't have
a customer creating it but then it's added when updating the order.
Seems inconsistent.

mkllnk/openfoodnetwork,openfoodfoundation/openfoodnetwork,mkllnk/openfoodnetwork,openfoodfoundation/openfoodnetwork,mkllnk/openfoodnetwork,openfoodfoundation/openfoodnetwork,mkllnk/openfoodnetwork,openfoodfoundation/openfoodnetwork