async def test_remove_quick_mode_no_active_quick_mode(
        manager: SystemManager, resp: aioresponses) -> None:
    url = urls.system_quickmode(serial=SERIAL)
    resp.delete(url, status=409)

    await manager.remove_quick_mode()
    _assert_calls(1, manager, [url])
async def test_get_quickmode_no_quickmode(manager: SystemManager,
                                          resp: aioresponses) -> None:
    url = urls.system_quickmode(serial=SERIAL, )

    resp.get(url, status=409)

    quickmode = await manager.get_quick_mode()
    assert quickmode is None
    _assert_calls(1, manager, [url])
async def test_set_quick_mode_no_current_quick_mode(
        manager: SystemManager, resp: aioresponses) -> None:
    url = urls.system_quickmode(serial=SERIAL)
    payload = payloads.quickmode(QuickModes.VENTILATION_BOOST.name)

    resp.put(url, status=200)

    await manager.set_quick_mode(QuickModes.VENTILATION_BOOST)
    _assert_calls(1, manager, [url], [payload])
async def test_get_quickmode(manager: SystemManager,
                             resp: aioresponses) -> None:
    url = urls.system_quickmode(serial=SERIAL, )
    with open(path("files/responses/quick_mode"), "r") as file:
        json_raw = json.loads(file.read())

    resp.get(url, status=200, payload=json_raw)

    quickmode = await manager.get_quick_mode()
    assert quickmode == QuickModes.SYSTEM_OFF
    _assert_calls(1, manager, [url])
async def test_remove_quick_mode_error(manager: SystemManager,
                                       resp: aioresponses) -> None:
    url = urls.system_quickmode(serial=SERIAL)
    resp.delete(url, status=400)

    try:
        await manager.remove_quick_mode()
        raise AssertionError("Error expected")
    except ApiError as exc:
        assert exc.status == 400

    _assert_calls(1, manager, [url])
async def test_remove_quick_mode_error(manager: SystemManager,
                                       resp: aioresponses) -> None:
    url = urls.system_quickmode(serial=SERIAL)
    resp.delete(url, status=500)

    try:
        await manager.remove_quick_mode()
        assert False
    except ApiError as exc:
        assert exc.response.status == 500

    _assert_calls(1, manager, [url])