@@ -76,57 +76,6 @@ class AppsflyerKitTests {
7676 Assert .assertTrue(name.isNotEmpty())
7777 }
7878
79- @Test
80- @Throws(Exception ::class )
81- fun testParseSharingFilterForPartners_returnsListForValidJson () {
82- val method =
83- AppsFlyerKit ::class .java.getDeclaredMethod(
84- " parseSharingFilterForPartners" ,
85- String ::class .java,
86- )
87- method.isAccessible = true
88- val result = method.invoke(kit, """ ["partner_1", "partner_2"]""" )
89- Assert .assertEquals(listOf (" partner_1" , " partner_2" ), result)
90- }
91-
92- @Test
93- @Throws(Exception ::class )
94- fun testParseSharingFilterForPartners_returnsNullForEmptyInput () {
95- val method =
96- AppsFlyerKit ::class .java.getDeclaredMethod(
97- " parseSharingFilterForPartners" ,
98- String ::class .java,
99- )
100- method.isAccessible = true
101- Assert .assertNull(method.invoke(kit, " " ))
102- Assert .assertNull(method.invoke(kit, null ))
103- }
104-
105- @Test
106- @Throws(Exception ::class )
107- fun testParseSharingFilterForPartners_returnsNullForInvalidJson () {
108- val method =
109- AppsFlyerKit ::class .java.getDeclaredMethod(
110- " parseSharingFilterForPartners" ,
111- String ::class .java,
112- )
113- method.isAccessible = true
114- Assert .assertNull(method.invoke(kit, " not a json array" ))
115- }
116-
117- @Test
118- @Throws(Exception ::class )
119- fun testParseSharingFilterForPartners_stripsBackslashes () {
120- val method =
121- AppsFlyerKit ::class .java.getDeclaredMethod(
122- " parseSharingFilterForPartners" ,
123- String ::class .java,
124- )
125- method.isAccessible = true
126- val result = method.invoke(kit, """ [\"test_1\", \"test_2\"]""" )
127- Assert .assertEquals(listOf (" test_1" , " test_2" ), result)
128- }
129-
13079 /* *
13180 * Kit *should* throw an exception when they're initialized with the wrong settings.
13281 *
@@ -776,6 +725,69 @@ class AppsflyerKitTests {
776725 Assert .assertEquals(emptyMap<String , String >(), result)
777726 }
778727
728+ // region manualStart tests
729+
730+ @Test
731+ @Throws(Exception ::class )
732+ fun testIsManualStart_returnsTrueWhenSettingIsTrue () {
733+ setKitSettings(mapOf (AppsFlyerKit .MANUAL_START to " true" ))
734+ val method = AppsFlyerKit ::class .java.getDeclaredMethod(" isManualStart" )
735+ method.isAccessible = true
736+ Assert .assertTrue(method.invoke(kit) as Boolean )
737+ }
738+
739+ @Test
740+ @Throws(Exception ::class )
741+ fun testIsManualStart_returnsFalseWhenSettingIsFalse () {
742+ setKitSettings(mapOf (AppsFlyerKit .MANUAL_START to " false" ))
743+ val method = AppsFlyerKit ::class .java.getDeclaredMethod(" isManualStart" )
744+ method.isAccessible = true
745+ Assert .assertFalse(method.invoke(kit) as Boolean )
746+ }
747+
748+ @Test
749+ @Throws(Exception ::class )
750+ fun testIsManualStart_returnsFalseWhenSettingIsAbsent () {
751+ setKitSettings(emptyMap())
752+ val method = AppsFlyerKit ::class .java.getDeclaredMethod(" isManualStart" )
753+ method.isAccessible = true
754+ Assert .assertFalse(method.invoke(kit) as Boolean )
755+ }
756+
757+ @Test
758+ @Throws(Exception ::class )
759+ fun testOnActivityCreated_withManualStartTrue_doesNotCallStart () {
760+ setKitSettings(
761+ mapOf (
762+ AppsFlyerKit .MANUAL_START to " true" ,
763+ ),
764+ )
765+ kit.onActivityCreated(mock(Activity ::class .java), null )
766+ Assert .assertEquals(0 , appsflyer.startCallCount)
767+ }
768+
769+ @Test
770+ @Throws(Exception ::class )
771+ fun testOnActivityCreated_withManualStartFalse_callsStart () {
772+ setKitSettings(
773+ mapOf (
774+ AppsFlyerKit .MANUAL_START to " false" ,
775+ ),
776+ )
777+ kit.onActivityCreated(mock(Activity ::class .java), null )
778+ Assert .assertEquals(1 , appsflyer.startCallCount)
779+ }
780+
781+ @Throws(Exception ::class )
782+ private fun setKitSettings (settings : Map <String , String >) {
783+ val configJson = JSONObject ()
784+ configJson.put(" id" , " -1" )
785+ configJson.put(" as" , settings.toMutableMap())
786+ kit.configuration = KitConfiguration .createKitConfiguration(configJson)
787+ }
788+
789+ // endregion
790+
779791 private var emptyCoreCallbacks: CoreCallbacks =
780792 object : CoreCallbacks {
781793 var activity = Activity ()
0 commit comments