示例#1
0
async def test_show_form(hass):
    """Test that the form is served with no input."""
    flow = config_flow.AirlyFlowHandler()
    flow.hass = hass

    result = await flow.async_step_user(user_input=None)

    assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
    assert result["step_id"] == "user"
示例#2
0
async def test_invalid_location(hass):
    """Test that errors are shown when location is invalid."""
    with patch(
            "airly._private._RequestsHandler.get",
            return_value=json.loads(load_fixture("airly_no_station.json")),
    ):
        flow = config_flow.AirlyFlowHandler()
        flow.hass = hass

        result = await flow.async_step_user(user_input=CONFIG)

        assert result["errors"] == {"base": "wrong_location"}
示例#3
0
async def test_invalid_api_key(hass):
    """Test that errors are shown when API key is invalid."""
    with patch(
            "airly._private._RequestsHandler.get",
            side_effect=AirlyError(
                403, {"message": "Invalid authentication credentials"}),
    ):
        flow = config_flow.AirlyFlowHandler()
        flow.hass = hass

        result = await flow.async_step_user(user_input=CONFIG)

        assert result["errors"] == {"base": "auth"}
示例#4
0
async def test_duplicate_error(hass):
    """Test that errors are shown when duplicates are added."""

    with patch(
            "airly._private._RequestsHandler.get",
            return_value=json.loads(load_fixture("airly_valid_station.json")),
    ):
        MockConfigEntry(domain=DOMAIN, data=CONFIG).add_to_hass(hass)
        flow = config_flow.AirlyFlowHandler()
        flow.hass = hass

        result = await flow.async_step_user(user_input=CONFIG)

        assert result["errors"] == {CONF_NAME: "name_exists"}
示例#5
0
async def test_create_entry(hass):
    """Test that the user step works."""

    with patch(
            "airly._private._RequestsHandler.get",
            return_value=json.loads(load_fixture("airly_valid_station.json")),
    ):
        flow = config_flow.AirlyFlowHandler()
        flow.hass = hass

        result = await flow.async_step_user(user_input=CONFIG)

        assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
        assert result["title"] == CONFIG[CONF_NAME]
        assert result["data"][CONF_LATITUDE] == CONFIG[CONF_LATITUDE]
        assert result["data"][CONF_LONGITUDE] == CONFIG[CONF_LONGITUDE]
        assert result["data"][CONF_API_KEY] == CONFIG[CONF_API_KEY]