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