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 } + } }