[fenix] Fix build breakage over FragmentScenario integration
[gecko.git] / mobile / android / fenix / app / src / test / java / org / mozilla / fenix / library / bookmarks / BookmarkFragmentTest.kt
blob59e99fb6de97ce5b48edc30b92bc341a0f7f1326
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2    License, v. 2.0. If a copy of the MPL was not distributed with this
3    file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 package org.mozilla.fenix.library.bookmarks
7 import androidx.fragment.app.testing.FragmentScenario
8 import androidx.fragment.app.testing.launchFragmentInContainer
9 import androidx.navigation.NavController
10 import androidx.navigation.Navigation
11 import io.mockk.Runs
12 import io.mockk.every
13 import io.mockk.just
14 import io.mockk.mockk
15 import mozilla.appservices.places.BookmarkRoot
16 import org.junit.Assert.assertEquals
17 import org.junit.Before
18 import org.junit.Test
19 import org.junit.runner.RunWith
20 import org.mozilla.fenix.R
21 import org.mozilla.fenix.TestApplication
22 import org.mozilla.fenix.TestUtils
23 import org.robolectric.RobolectricTestRunner
24 import org.robolectric.annotation.Config
26 @RunWith(RobolectricTestRunner::class)
27 @Config(application = TestApplication::class)
28 class BookmarkFragmentTest {
30     private lateinit var scenario: FragmentScenario<BookmarkFragment>
32     @Before
33     fun setup() {
34         TestUtils.setRxSchedulers()
36         val mockNavController = mockk<NavController>()
37         every { mockNavController.addOnDestinationChangedListener(any()) } just Runs
39         val args = BookmarkFragmentArgs(BookmarkRoot.Mobile.id).toBundle()
40         scenario =
41             launchFragmentInContainer<BookmarkFragment>(fragmentArgs = args, themeResId = R.style.NormalTheme) {
42                 BookmarkFragment().also { fragment ->
43                     fragment.viewLifecycleOwnerLiveData.observeForever {
44                         if (it != null) {
45                             Navigation.setViewNavController(fragment.requireView(), mockNavController)
46                         }
47                     }
48                 }
49             }
50     }
52     @Test
53     fun `test initial bookmarks fragment ui`() {
54         scenario.onFragment { fragment ->
55             assertEquals(fragment.getString(R.string.library_bookmarks), fragment.activity?.title)
56         }
57     }