1 package com.android.systemui.bouncer.data.repository 2 3 import androidx.test.ext.junit.runners.AndroidJUnit4 4 import androidx.test.filters.SmallTest 5 import com.android.systemui.SysuiTestCase 6 import com.android.systemui.kosmos.testScope 7 import com.android.systemui.log.table.TableLogBuffer 8 import com.android.systemui.testKosmos 9 import com.android.systemui.util.mockito.any 10 import com.android.systemui.util.mockito.eq 11 import com.android.systemui.util.time.SystemClock 12 import kotlinx.coroutines.test.runTest 13 import org.junit.Before 14 import org.junit.Test 15 import org.junit.runner.RunWith 16 import org.mockito.Mock 17 import org.mockito.Mockito 18 import org.mockito.MockitoAnnotations 19 20 @SmallTest 21 @RunWith(AndroidJUnit4::class) 22 class KeyguardBouncerRepositoryTest : SysuiTestCase() { 23 24 @Mock private lateinit var systemClock: SystemClock 25 @Mock private lateinit var bouncerLogger: TableLogBuffer 26 27 private val kosmos = testKosmos() 28 private val testScope = kosmos.testScope 29 30 lateinit var underTest: KeyguardBouncerRepository 31 32 @Before setupnull33 fun setup() { 34 MockitoAnnotations.initMocks(this) 35 underTest = 36 KeyguardBouncerRepositoryImpl( 37 systemClock, 38 testScope.backgroundScope, 39 bouncerLogger, 40 ) 41 } 42 43 @Test changingFlowValueTriggersLoggingnull44 fun changingFlowValueTriggersLogging() = 45 testScope.runTest { 46 underTest.setPrimaryShow(true) 47 Mockito.verify(bouncerLogger) 48 .logChange(eq(""), eq("PrimaryBouncerShow"), value = eq(false), any()) 49 } 50 } 51