@@ -36,7 +36,6 @@ import androidx.activity.result.ActivityResultLauncher
3636import androidx.core.net.toUri
3737import androidx.lifecycle.MediatorLiveData
3838import androidx.test.ext.junit.runners.AndroidJUnit4
39- import com.salesforce.androidsdk.app.SalesforceSDKManager
4039import com.salesforce.androidsdk.ui.LoginActivity.Companion.ABOUT_BLANK
4140import com.salesforce.androidsdk.ui.LoginActivity.Companion.EXTRA_KEY_LOGIN_HINT
4241import com.salesforce.androidsdk.ui.LoginActivity.Companion.EXTRA_KEY_LOGIN_HOST
@@ -221,6 +220,56 @@ class LoginActivityTest {
221220 verify(exactly = 0 ) { viewModel.applyPendingServer(pendingLoginServer = any()) }
222221 }
223222
223+ @Test
224+ fun loginActivityPendingServerObserver_switchesDefaultOrSalesforceWelcomeDiscoveryLogin_onChangeIntentDataPathOnlyTogglesWelcomeDiscoveryUrlPath () {
225+
226+ val pendingServerWelcomeDiscoveryUrlPath = " https://welcome.example.com/discovery"
227+ val intent = mockk<Intent >(relaxed = true )
228+ every { intent.data } returns " https://welcome.example.com/other" .toUri()
229+ val viewModel = mockk<LoginViewModel >(relaxed = true )
230+ val activity = mockk<LoginActivity >(relaxed = true )
231+ every { activity.intent } returns intent
232+ every { activity.viewModel } returns viewModel
233+ every { activity.switchDefaultOrSalesforceWelcomeDiscoveryLogin(any()) } returns true
234+ val observer = activity.PendingServerObserver (activity)
235+ observer.onChanged(pendingServerWelcomeDiscoveryUrlPath)
236+ verify(exactly = 0 ) { viewModel.applyPendingServer(pendingLoginServer = any()) }
237+ }
238+
239+ @Test
240+ fun loginActivityPendingServerObserver_switchesDefaultOrSalesforceWelcomeDiscoveryLogin_onChangeIntentDataHostOnlyTogglesWelcomeDiscoveryUrlPath () {
241+
242+ val pendingServerWelcomeDiscoveryUrlPath = " https://welcome.example.com/discovery"
243+ val intent = mockk<Intent >(relaxed = true )
244+ every { intent.data } returns " https://other.example.com/discovery" .toUri()
245+ val viewModel = mockk<LoginViewModel >(relaxed = true )
246+ val activity = mockk<LoginActivity >(relaxed = true )
247+ every { activity.intent } returns intent
248+ every { activity.viewModel } returns viewModel
249+ every { activity.switchDefaultOrSalesforceWelcomeDiscoveryLogin(any()) } returns true
250+ val observer = activity.PendingServerObserver (activity)
251+ observer.onChanged(pendingServerWelcomeDiscoveryUrlPath)
252+ verify(exactly = 0 ) { viewModel.applyPendingServer(pendingLoginServer = any()) }
253+ }
254+
255+ @Test
256+ fun loginActivityPendingServerObserver_switchesDefaultOrSalesforceWelcomeDiscoveryLogin_onChangeIntentDataHostPlusLoginHintExtras () {
257+
258+ val pendingServerWelcomeDiscoveryUrlPath = " https://welcome.example.com/discovery"
259+ val intent = mockk<Intent >(relaxed = true )
260+ every { intent.getStringExtra(
EXTRA_KEY_LOGIN_HINT ) } returns
" [email protected] " 261+ every { intent.getStringExtra(EXTRA_KEY_LOGIN_HOST ) } returns " welcome.example.com"
262+ every { intent.data } returns " https://welcome.example.com/discovery" .toUri()
263+ val viewModel = mockk<LoginViewModel >(relaxed = true )
264+ val activity = mockk<LoginActivity >(relaxed = true )
265+ every { activity.intent } returns intent
266+ every { activity.viewModel } returns viewModel
267+ every { activity.switchDefaultOrSalesforceWelcomeDiscoveryLogin(any()) } returns true
268+ val observer = activity.PendingServerObserver (activity)
269+ observer.onChanged(pendingServerWelcomeDiscoveryUrlPath)
270+ verify(exactly = 0 ) { viewModel.applyPendingServer(pendingLoginServer = any()) }
271+ }
272+
224273 @Test
225274 fun loginActivity_startsCorrectActivity_onStartDefaultLoginWithHintAndHost () {
226275
0 commit comments