diff --git a/android/src/androidTest/java/com/formbricks/android/network/FormbricksApiServiceInstrumentedTest.kt b/android/src/androidTest/java/com/formbricks/android/network/FormbricksApiServiceInstrumentedTest.kt index 51d35b3..40f0904 100644 --- a/android/src/androidTest/java/com/formbricks/android/network/FormbricksApiServiceInstrumentedTest.kt +++ b/android/src/androidTest/java/com/formbricks/android/network/FormbricksApiServiceInstrumentedTest.kt @@ -50,6 +50,31 @@ class FormbricksApiServiceInstrumentedTest { assertTrue(result.isFailure) } + @Test + fun testPostUser_withNullAttributes_handlesErrorGracefully() { + val dummyBody = PostUserBody("dummy-user-id", null) + val result = apiService.postUser("dummy-environment-id", dummyBody) + assertTrue(result.isFailure) + } + + @Test + fun testInitialize_multipleTimes_noCrash() { + try { + apiService.initialize("https://example.com", isLoggingEnabled = false) + apiService.initialize("https://another-url.com", isLoggingEnabled = true) + } catch (e: Exception) { + fail("Multiple initializations should not throw: ${e.message}") + } + } + + @Test + fun testGetEnvironmentStateObject_beforeInitialize_returnsFailure() { + val uninitializedService = FormbricksApiService() + val result = uninitializedService.getEnvironmentStateObject("dummy") + assertTrue(result.isFailure) + assertTrue(result.exceptionOrNull() is UninitializedPropertyAccessException) + } + // Add more integration-style tests as needed, e.g.: // - testGetEnvironmentStateObject_withMockServer // - testPostUser_withMockServer