The corresponding Story for concrete Product object data persistence is as follows:
-
As a product manager, I need to be able to manage products in the system, so that their statuses and information can be kept current.
The code that fulfills this scenario is even simpler than the code for Artisan objects; it doesn't need any special handling of object properties, so from_data_dict can simply fall back to the default, defined in HMSMongoDataObject. It doesn't have any extraneous methods that are required, either, so a full, functional implementation really just boils down to the _data_dict_keys class attribute and the __init__, matches, and to_data_dict methods, with matches being implemented as a call to HMSMongoDataObject.matches ...