From 3de96a3a0cd72bc8d5e781dd94947187e3658570 Mon Sep 17 00:00:00 2001 From: Maxime NATUREL Date: Mon, 19 Sep 2022 14:03:10 +0200 Subject: [PATCH] Adding new method into navigator --- .../v2/overview/SessionOverviewFragment.kt | 2 +- .../overview/SessionOverviewViewNavigator.kt | 7 +++++- .../SessionOverviewViewNavigatorTest.kt | 25 ++++++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt index 73991c5f20..af19de4ce0 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt @@ -118,7 +118,7 @@ class SessionOverviewFragment : private fun updateEntryDetails(deviceId: String) { views.sessionOverviewEntryDetails.setOnClickListener { - viewNavigator.navigateToSessionDetails(requireContext(), deviceId) + viewNavigator.goToSessionDetails(requireContext(), deviceId) } } diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigator.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigator.kt index ef61856255..8c4d0345dc 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigator.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigator.kt @@ -18,11 +18,16 @@ package im.vector.app.features.settings.devices.v2.overview import android.content.Context import im.vector.app.features.settings.devices.v2.details.SessionDetailsActivity +import im.vector.app.features.settings.devices.v2.rename.RenameSessionActivity import javax.inject.Inject class SessionOverviewViewNavigator @Inject constructor() { - fun navigateToSessionDetails(context: Context, deviceId: String) { + fun goToSessionDetails(context: Context, deviceId: String) { context.startActivity(SessionDetailsActivity.newIntent(context, deviceId)) } + + fun goToRenameSession(context: Context, deviceId: String) { + context.startActivity(RenameSessionActivity.newIntent(context, deviceId)) + } } diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigatorTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigatorTest.kt index 56f1e5920d..3d38f3b3bf 100644 --- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigatorTest.kt +++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewNavigatorTest.kt @@ -18,6 +18,7 @@ package im.vector.app.features.settings.devices.v2.overview import android.content.Intent import im.vector.app.features.settings.devices.v2.details.SessionDetailsActivity +import im.vector.app.features.settings.devices.v2.rename.RenameSessionActivity import im.vector.app.test.fakes.FakeContext import io.mockk.every import io.mockk.mockk @@ -38,6 +39,7 @@ class SessionOverviewViewNavigatorTest { @Before fun setUp() { mockkObject(SessionDetailsActivity) + mockkObject(RenameSessionActivity) } @After @@ -52,7 +54,22 @@ class SessionOverviewViewNavigatorTest { context.givenStartActivity(intent) // When - sessionOverviewViewNavigator.navigateToSessionDetails(context.instance, A_SESSION_ID) + sessionOverviewViewNavigator.goToSessionDetails(context.instance, A_SESSION_ID) + + // Then + verify { + context.instance.startActivity(intent) + } + } + + @Test + fun `given a session id when navigating to rename screen then it starts the correct activity`() { + // Given + val intent = givenIntentForRenameSession(A_SESSION_ID) + context.givenStartActivity(intent) + + // When + sessionOverviewViewNavigator.goToRenameSession(context.instance, A_SESSION_ID) // Then verify { @@ -65,4 +82,10 @@ class SessionOverviewViewNavigatorTest { every { SessionDetailsActivity.newIntent(context.instance, sessionId) } returns intent return intent } + + private fun givenIntentForRenameSession(sessionId: String): Intent { + val intent = mockk() + every { RenameSessionActivity.newIntent(context.instance, sessionId) } returns intent + return intent + } }