From ff2d230716be4f67a66ca00ed2a46b43f3c66414 Mon Sep 17 00:00:00 2001 From: viniciusguardieirozup <58824112+viniciusguardieirozup@users.noreply.github.com> Date: Tue, 20 Oct 2020 13:33:52 -0300 Subject: [PATCH] fix: adjust override title when navigate in screen (#1052) --- .../br/com/zup/beagle/android/utils/ToolbarManager.kt | 2 +- .../android/components/layout/ScreenComponentTest.kt | 1 + .../zup/beagle/android/utils/ToolbarManagerTest.kt | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/android/beagle/src/main/java/br/com/zup/beagle/android/utils/ToolbarManager.kt b/android/beagle/src/main/java/br/com/zup/beagle/android/utils/ToolbarManager.kt index 4366b9c053..5f39f42dc8 100644 --- a/android/beagle/src/main/java/br/com/zup/beagle/android/utils/ToolbarManager.kt +++ b/android/beagle/src/main/java/br/com/zup/beagle/android/utils/ToolbarManager.kt @@ -104,8 +104,8 @@ internal class ToolbarManager { val textAppearance = typedArray.getResourceId( R.styleable.BeagleToolbarStyle_titleTextAppearance, 0 ) + removePreviousToolbarTitle(toolbar) if (typedArray.getBoolean(R.styleable.BeagleToolbarStyle_centerTitle, false)) { - removePreviousToolbarTitle(toolbar) val titleTextView = generateCenterTitle(context, navigationBar, textAppearance, toolbar) toolbar.addView(titleTextView) centerTitle(toolbar, titleTextView) diff --git a/android/beagle/src/test/java/br/com/zup/beagle/android/components/layout/ScreenComponentTest.kt b/android/beagle/src/test/java/br/com/zup/beagle/android/components/layout/ScreenComponentTest.kt index 12593e6c42..6cdcfaf50a 100644 --- a/android/beagle/src/test/java/br/com/zup/beagle/android/components/layout/ScreenComponentTest.kt +++ b/android/beagle/src/test/java/br/com/zup/beagle/android/components/layout/ScreenComponentTest.kt @@ -176,6 +176,7 @@ class ScreenComponentTest : BaseComponentTest() { val navigationBar = NavigationBar("Stub") mockkConstructor(ToolbarManager::class) screenComponent = ScreenComponent(child = screenComponent, navigationBar = navigationBar) + every { anyConstructed().configureToolbar(any(), any(), any(), any()) } just Runs //WHEN screenComponent.buildView(rootView) diff --git a/android/beagle/src/test/java/br/com/zup/beagle/android/utils/ToolbarManagerTest.kt b/android/beagle/src/test/java/br/com/zup/beagle/android/utils/ToolbarManagerTest.kt index 75577e38c0..cb54f55987 100644 --- a/android/beagle/src/test/java/br/com/zup/beagle/android/utils/ToolbarManagerTest.kt +++ b/android/beagle/src/test/java/br/com/zup/beagle/android/utils/ToolbarManagerTest.kt @@ -22,6 +22,7 @@ import android.graphics.drawable.Drawable import android.view.Menu import android.view.MenuItem import android.view.View +import android.widget.TextView import androidx.appcompat.app.ActionBar import androidx.appcompat.widget.Toolbar import androidx.core.content.res.ResourcesCompat @@ -42,6 +43,7 @@ import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.impl.annotations.RelaxedMockK import io.mockk.just +import io.mockk.mockk import io.mockk.mockkStatic import io.mockk.slot import io.mockk.spyk @@ -170,6 +172,8 @@ class ToolbarManagerTest : BaseTest() { fun configure_toolbar_style_when_toolbar_is_not_null() { // Given val title = RandomData.string() + val textView: TextView = mockk() + every { toolbar.findViewById(any()) } returns textView every { navigationBar.title } returns title every { beagleSdk.designSystem } returns designSystemMock every { designSystemMock.toolbarStyle(style) } returns styleInt @@ -181,6 +185,7 @@ class ToolbarManagerTest : BaseTest() { toolbarManager.configureToolbar(rootView, navigationBar, beagleFlexView, screenComponent) // Then + verify(exactly = once()) { toolbar.removeView(textView) } verify(atLeast = once()) { toolbar.navigationIcon = navigationIcon } verify(atLeast = once()) { toolbar.title = title } verify(atLeast = once()) { toolbar.setTitleTextAppearance(context, titleTextAppearance) } @@ -199,6 +204,8 @@ class ToolbarManagerTest : BaseTest() { every { context.supportActionBar } returns actionBar every { context.getToolbar() } returns toolbar every { navigationBar.showBackButton } returns false + every { toolbar.findViewById(any()) } returns mockk() + // When toolbarManager.configureToolbar(rootView, navigationBar, beagleFlexView, screenComponent) @@ -220,6 +227,8 @@ class ToolbarManagerTest : BaseTest() { every { navigationBar.navigationBarItems } returns navigationBarItems val menuItem = spyk() every { menu.add(any(), any(), any(), any()) } returns menuItem + every { toolbar.findViewById(any()) } returns mockk() + // WHEN toolbarManager.configureToolbar(rootView, navigationBar, beagleFlexView, screenComponent) @@ -246,6 +255,8 @@ class ToolbarManagerTest : BaseTest() { val menuItem = spyk() every { menu.add(any(), any(), any(), any()) } returns menuItem every { ResourcesCompat.getDrawable(any(), any(), any()) } returns icon + every { toolbar.findViewById(any()) } returns mockk() + // WHEN toolbarManager.configureToolbar(rootView, navigationBar, beagleFlexView, screenComponent)