Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72e1d900 authored by Wes Okuhara's avatar Wes Okuhara Committed by Android (Google) Code Review
Browse files

Merge "Use view model kosmos in PreCaptureToolbarTest" into main

parents 7aa51ddf 73cdbd9f
Loading
Loading
Loading
Loading
+32 −38
Original line number Diff line number Diff line
@@ -16,23 +16,24 @@

package com.android.systemui.screencapture.record.largescreen.ui.compose

import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import androidx.compose.ui.test.assertContentDescriptionEquals
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithContentDescription
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.Flags
import com.android.systemui.SysuiTestCase
import com.android.systemui.kosmos.runTest
import com.android.systemui.res.R
import com.android.systemui.screencapture.record.largescreen.ui.viewmodel.PreCaptureViewModel
import com.android.systemui.screencapture.record.largescreen.ui.viewmodel.RadioButtonGroupItemViewModel
import org.junit.Before
import com.android.systemui.screencapture.record.largescreen.ui.viewmodel.preCaptureViewModel
import com.android.systemui.testKosmosNew
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.whenever

@SmallTest
@RunWith(AndroidJUnit4::class)
@@ -40,21 +41,13 @@ class PreCaptureToolbarTest : SysuiTestCase() {

    @get:Rule val composeTestRule = createComposeRule()

    @Mock private lateinit var viewModel: PreCaptureViewModel

    @Before
    fun setUp() {
        MockitoAnnotations.openMocks(this)

        val fakeRegionItems = listOf(RadioButtonGroupItemViewModel(isSelected = true, onClick = {}))
        whenever(viewModel.captureRegionButtonViewModels).thenReturn(fakeRegionItems)
        val fakeTypeItems = listOf(RadioButtonGroupItemViewModel(isSelected = true, onClick = {}))
        whenever(viewModel.captureTypeButtonViewModels).thenReturn(fakeTypeItems)
    }
    private val kosmos = testKosmosNew()
    private val viewModel: PreCaptureViewModel by lazy { kosmos.preCaptureViewModel }

    @Test
    fun settingsButton_isDisplayed_andHasCorrectContentDescription() {
        whenever(viewModel.screenRecordingSupported).thenReturn(true)
    @EnableFlags(Flags.FLAG_LARGE_SCREEN_RECORDING)
    fun settingsButton_whenFlagIsEnabled_isDisplayed_andHasCorrectContentDescription() =
        kosmos.runTest {
            composeTestRule.setContent {
                PreCaptureToolbar(viewModel = viewModel, expanded = true, onCloseClick = {})
            }
@@ -69,8 +62,9 @@ class PreCaptureToolbarTest : SysuiTestCase() {
        }

    @Test
    fun settingsButton_isNotDisplayed_whenFlagIsDisabled() {
        whenever(viewModel.screenRecordingSupported).thenReturn(false)
    @DisableFlags(Flags.FLAG_LARGE_SCREEN_RECORDING)
    fun settingsButton_whenFlagIsDisabled_isNotDisplayed() =
        kosmos.runTest {
            composeTestRule.setContent {
                PreCaptureToolbar(viewModel = viewModel, expanded = true, onCloseClick = {})
            }