* Add Picnic services for searching products and adding products to the cart
* Improve the Picnic services implementation and add unit tests
* Fix pre-commit check issues
* Fix comments and example product name
* Remove search service, update add_product service schema
* Fix pylint suggestion
* Add more tests and removed unused code
* Remove code needed for the removed service, clean tests from obvious comments and add type hints
* Remove unused import
* Remove unnecessary comments and simplify getting the config entry id
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Don't use hass.data in tests, make device id mandatory for service
* Rewrite all service tests so using lru.cache is not needed
* Add test for uncovered line in _product_search()
* Require a config entry id as service parameter instead of device id
* Use explicit check in get_api_client() and raise HomeAssistantError
* Fix HomeAssistantError import, fix services tests
* Change HomeAssistantError to ValueError when config entry is not found
Co-authored-by: Allen Porter <allen.porter@gmail.com>