Skip to content

Commit

Permalink
[#299] Add nav args extension class into template-xml, change package…
Browse files Browse the repository at this point in the history
… name of HomeFragmentTest
  • Loading branch information
thiennguyen0196 committed Apr 27, 2023
1 parent 68d74f1 commit da63420
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package co.nimblehq.sample.xml.ui.screens.xml
package co.nimblehq.sample.xml.ui.screens.home

import androidx.core.view.isVisible
import co.nimblehq.sample.xml.databinding.FragmentHomeBinding
Expand All @@ -8,8 +8,6 @@ import co.nimblehq.sample.xml.test.getPrivateProperty
import co.nimblehq.sample.xml.test.replace
import co.nimblehq.sample.xml.ui.BaseFragmentTest
import co.nimblehq.sample.xml.ui.base.NavigationEvent
import co.nimblehq.sample.xml.ui.screens.home.HomeFragment
import co.nimblehq.sample.xml.ui.screens.home.HomeViewModel
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
import io.kotest.matchers.booleans.shouldBeFalse
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package co.nimblehq.template.xml.extension

import androidx.annotation.MainThread
import androidx.fragment.app.Fragment
import androidx.navigation.NavArgs
import androidx.navigation.fragment.navArgs

@MainThread
inline fun <reified Args : NavArgs> Fragment.provideNavArgs(): Lazy<Args> =
OverridableLazy(navArgs())
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package co.nimblehq.template.xml.test

import androidx.navigation.NavArgs
import co.nimblehq.template.xml.extension.OverridableLazy
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.isAccessible

fun <Arg : NavArgs, T> T.replace(
argumentDelegate: KProperty1<T, Arg>,
argument: Arg
) {
argumentDelegate.isAccessible = true
(argumentDelegate.getDelegate(this) as OverridableLazy<Arg>).implementation = lazy { argument }
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class HomeFragmentTest : BaseFragmentTest<HomeFragment, FragmentHomeBinding>() {
}

@Test
fun `When initializing fragment, it displays the title correctly`() {
fun `When launching fragment, it displays the title correctly`() {
launchFragment()
fragment.binding.tvTitle.text.toString() shouldBe fragment.resources.getString(R.string.app_name)
}
Expand Down

0 comments on commit da63420

Please sign in to comment.