diff --git a/src/pyblu/player.py b/src/pyblu/player.py
index 11cfcd1..a79a439 100644
--- a/src/pyblu/player.py
+++ b/src/pyblu/player.py
@@ -210,7 +210,7 @@ async def pause(self, toggle: bool | None = None, timeout: float | None = None)
"""
params: dict[str, str | int] = {}
if toggle is not None:
- params["toggle"] = "1"
+ params["toggle"] = "1" if toggle else "0"
data = await self._get("/Pause", params=params, timeout=timeout)
return parse_state(data)
diff --git a/tests/test_player.py b/tests/test_player.py
index c8a1b7f..cd5c9b1 100644
--- a/tests/test_player.py
+++ b/tests/test_player.py
@@ -54,6 +54,28 @@ async def test_pause():
assert len(Mocket.request_list()) == 1
+@async_mocketize(strict_mode=True)
+async def test_pause_toggle_true():
+ Entry.single_register(Entry.GET, "http://node:11000/Pause?toggle=1", status=200, body="playing")
+ async with aiohttp.ClientSession(connector=MocketTCPConnector()) as session:
+ async with Player("node", session=session) as client:
+ state = await client.pause(toggle=True)
+
+ assert state == "playing"
+ assert len(Mocket.request_list()) == 1
+
+
+@async_mocketize(strict_mode=True)
+async def test_pause_toggle_false():
+ Entry.single_register(Entry.GET, "http://node:11000/Pause?toggle=0", status=200, body="paused")
+ async with aiohttp.ClientSession(connector=MocketTCPConnector()) as session:
+ async with Player("node", session=session) as client:
+ state = await client.pause(toggle=False)
+
+ assert state == "paused"
+ assert len(Mocket.request_list()) == 1
+
+
@async_mocketize(strict_mode=True)
async def test_stop():
Entry.single_register(Entry.GET, "http://node:11000/Stop", status=200, body="stopped")