1 /* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.systemui.qs.panels.ui.viewmodel 18 19 import androidx.test.ext.junit.runners.AndroidJUnit4 20 import androidx.test.filters.SmallTest 21 import com.android.systemui.SysuiTestCase 22 import com.android.systemui.classifier.fakeFalsingManager 23 import com.android.systemui.kosmos.collectLastValue 24 import com.android.systemui.kosmos.runCurrent 25 import com.android.systemui.kosmos.runTest 26 import com.android.systemui.qs.panels.ui.viewmodel.toolbar.editModeButtonViewModelFactory 27 import com.android.systemui.testKosmos 28 import com.google.common.truth.Truth.assertThat 29 import org.junit.Test 30 import org.junit.runner.RunWith 31 32 @RunWith(AndroidJUnit4::class) 33 @SmallTest 34 class EditModeButtonViewModelTest : SysuiTestCase() { 35 val kosmos = testKosmos() 36 37 val underTest = kosmos.editModeButtonViewModelFactory.create() 38 39 @Test falsingFalseTap_editModeDoesntStartnull40 fun falsingFalseTap_editModeDoesntStart() = 41 kosmos.runTest { 42 val isEditing by collectLastValue(editModeViewModel.isEditing) 43 44 fakeFalsingManager.setFalseTap(true) 45 46 underTest.onButtonClick() 47 runCurrent() 48 49 assertThat(isEditing).isFalse() 50 } 51 52 @Test falsingNotFalseTap_editModeStartednull53 fun falsingNotFalseTap_editModeStarted() = 54 kosmos.runTest { 55 val isEditing by collectLastValue(editModeViewModel.isEditing) 56 57 fakeFalsingManager.setFalseTap(false) 58 59 underTest.onButtonClick() 60 runCurrent() 61 62 assertThat(isEditing).isTrue() 63 } 64 } 65