Add ConfigFlow for seventeentrack integration (#111196)
* Add config flow to 17Track
* Import config from configuration.yaml
* 1. move import to async_setup_platform
2. add USERNAME (email) in title for uniqueness
* Add options flow
* Add tests
* Add CONF_SHOW_ARCHIVED and CONF_SHOW_DELIVERED to data from options
* Update homeassistant/components/seventeentrack/__init__.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/__init__.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/manifest.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/config_flow.py
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
* Update homeassistant/components/seventeentrack/__init__.py
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
* Update homeassistant/components/seventeentrack/sensor.py
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
* 1. Added repair issues
2. _async_validate_input inlined
3. added unique id
4. take default scan interval
* fix
* 1. move async_create_issue to async_setup_platform
2. fix tests
3. black + pylint
* combine USER_SCHEMA and OPTIONS_SCHEMA
* small fix
* remove async_setup
* fix tests and add 100% coverage
* 1. remove CONFIG_SCHEMA
2. remove error log
3. add issue with more description when import issues happen
4. some linting
* Update homeassistant/components/seventeentrack/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use freezer
use AsyncMock
fix tests
* add test_flow_fails
parametrize tests where needed
test_import_flow_already_configured - where a unique id already configured (abort flow)
* lint
* fix rebase issues
* some more fix
* 17Track revert tests and put them in a different PR
* adapt tests to MockConfigEntry
* Update tests/components/seventeentrack/test_sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/seventeentrack/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/seventeentrack/__init__.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* 1. create fixture for config and another with options
2. set options with default values
3. remove CONFIG_SCHEMA
* Update tests/components/seventeentrack/conftest.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/seventeentrack/conftest.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* 1. get options from import data and default if not present
2. rename mock_config_entry_no_options -> mock_config_entry_with_default_options
* move ACCOUNT_ID to mock_seventeentrack_api.return_value.profile.account_id
* Apply suggestions from code review
* Update tests/components/seventeentrack/test_config_flow.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>