async def METHOD_NAME(
    hass: HomeAssistant,
    mock_entity_with_model_information: MockEntityWithModel,
) -> None:
    """
    Test a smart switch can be setup with GUI and a fixed power value for the appliance configured by the user
    The values for standby power on and off should be taken from the power profile library.
    The fixed power value from the user should be added to the total power consumption. standby_power_on + power
    """
    switch_id = "switch.heater"
    manufacturer = "IKEA"
    model = "TRADFRI control outlet"
    mock_entity_with_model_information(
        entity_id=switch_id,
        manufacturer=manufacturer,
        model=model,
    )
    power_sensor_id = "sensor.heater_device_power"
    await run_powercalc_setup(hass, {})
    # Retrieve the discovery flow
    flows = hass.config_entries.flow.async_progress_by_handler(DOMAIN)
    flow = flows[0]
    assert flow["step_id"] == "library"
    result = await hass.config_entries.flow.async_configure(
        flow["flow_id"],
        {CONF_CONFIRM_AUTODISCOVERED_MODEL: True},
    )
    # After confirming the manufacturer/model we must be directed to the fixed config step
    assert result["step_id"] == "fixed"
    result = await hass.config_entries.flow.async_configure(
        flow["flow_id"],
        {CONF_POWER: 50},
    )
    assert result["type"] == FlowResultType.CREATE_ENTRY
    entries = hass.config_entries.async_entries(DOMAIN)
    assert len(entries) == 1
    config_entry = entries[0]
    # Toggle the switch to different states and check for correct power values
    power_state = hass.states.get(power_sensor_id)
    assert power_state
    assert power_state.state == "unavailable"
    hass.states.async_set(switch_id, STATE_ON)
    await hass.async_block_till_done()
    assert hass.states.get(power_sensor_id).state == "50.80"
    hass.states.async_set(switch_id, STATE_OFF)
    await hass.async_block_till_done()
    assert hass.states.get(power_sensor_id).state == "0.40"
    # Change the power value via the options
    result = await hass.config_entries.options.async_init(
        config_entry.entry_id,
        data=None,
    )
    result = await hass.config_entries.options.async_configure(
        result["flow_id"],
        user_input={CONF_POWER: 100},
    )
    assert result["type"] == FlowResultType.CREATE_ENTRY
    # Set the switch on again and see if it has the updated power value
    hass.states.async_set(switch_id, STATE_ON)
    await hass.async_block_till_done()
    assert hass.states.get(power_sensor_id).state == "100.80"