diff --git a/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt b/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt
index 55d6763a..76e78610 100644
--- a/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt
+++ b/android/app/src/test/java/com/fabledsword/minstrel/player/output/upnp/RenderingControlClientTest.kt
@@ -37,6 +37,13 @@ class RenderingControlClientTest {
""".trimIndent()))
assertEquals(42, client.getVolume())
+ val request = server.takeRequest()
+ val body = request.body.readUtf8()
+ assertTrue(body.contains("Master")) { body }
+ assertEquals(
+ "\"urn:schemas-upnp-org:service:RenderingControl:1#GetVolume\"",
+ request.getHeader("SOAPACTION"),
+ )
}
@Test
@@ -53,4 +60,19 @@ class RenderingControlClientTest {
val body = server.takeRequest().body.readUtf8()
assertTrue(body.contains("100")) { body }
}
+
+ @Test
+ fun `setVolume clamps below VOLUME_MIN to zero`() = runTest {
+ server.enqueue(MockResponse().setBody(
+ """
+
+
+
+
+ """.trimIndent()))
+ client.setVolume(-5)
+ val body = server.takeRequest().body.readUtf8()
+ assertTrue(body.contains("0")) { body }
+ }
}