{ "output": "Successfully modified file: /home/Messier82/projects/service-book/app/src/testDebug/java/com/servicebook/data/billing/BillingManagerImplTest.kt (1 replacements). Here is the updated code:\n...\n fun `launchPremiumPurchaseFlow returns BillingUnavailable when cachedProductDetails is null`() =\n testScope.runTest {\n stubStartConnectionOk()\n // Stub queryProductDetails to return empty list, so cachedProductDetails remains null\n val listenerSlot = slot()\n every {\n mockBillingClient.queryProductDetailsAsync(any(), capture(listenerSlot))\n } answers {\n listenerSlot.captured.onProductDetailsResponse(okResult(), mockQueryResult(emptyList()))\n }\n\n billingManagerImpl.startConnection()\n advanceUntilIdle()\n\n...\n fun `launchPremiumPurchaseFlow returns BillingUnavailable when queryProductDetailsAsync fails`() =\n testScope.runTest {\n stubStartConnectionOk()\n // Stub queryProductDetails to return an error code\n val listenerSlot = slot()\n every {\n mockBillingClient.queryProductDetailsAsync(any(), capture(listenerSlot))\n } answers {\n listenerSlot.captured.onProductDetailsResponse(\n errorResult(BillingClient.BillingResponseCode.SERVICE_UNAVAILABLE),\n mockQueryResult(emptyList()),\n )\n }\n\n billingManagerImpl.startConnection()\n advanceUntilIdle()\n..." }