summaryrefslogtreecommitdiff
path: root/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel')
-rw-r--r--tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt15
-rw-r--r--tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt95
-rw-r--r--tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt6
3 files changed, 18 insertions, 98 deletions
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
index ca6f8c79..46afe35d 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
@@ -16,11 +16,15 @@
package com.android.customization.picker.clock.ui.viewmodel
import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.customization.module.logging.TestThemesUserEventLogger
import com.android.customization.picker.clock.data.repository.ClockPickerRepository
import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
import com.android.customization.picker.clock.shared.model.ClockMetadataModel
+import com.android.customization.picker.clock.ui.FakeClockViewFactory
+import com.android.customization.picker.clock.ui.view.ClockViewFactory
import com.android.wallpaper.testing.FakeSnapshotStore
import com.android.wallpaper.testing.collectLastValue
import com.google.common.truth.Truth.assertThat
@@ -48,8 +52,7 @@ class ClockCarouselViewModelTest {
FakeClockPickerRepository(
listOf(
ClockMetadataModel(
- clockId = "clock0",
- name = "clock0",
+ clockId = FakeClockPickerRepository.CLOCK_ID_0,
isSelected = true,
selectedColorId = null,
colorToneProgress = ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
@@ -58,13 +61,16 @@ class ClockCarouselViewModelTest {
)
)
}
+
private lateinit var testDispatcher: CoroutineDispatcher
private lateinit var underTest: ClockCarouselViewModel
private lateinit var interactor: ClockPickerInteractor
+ private lateinit var clockViewFactory: ClockViewFactory
@Before
fun setUp() {
testDispatcher = StandardTestDispatcher()
+ clockViewFactory = FakeClockViewFactory()
Dispatchers.setMain(testDispatcher)
}
@@ -78,7 +84,10 @@ class ClockCarouselViewModelTest {
underTest =
ClockCarouselViewModel(
getClockPickerInteractor(repositoryWithMultipleClocks),
- testDispatcher
+ backgroundDispatcher = testDispatcher,
+ clockViewFactory = clockViewFactory,
+ resources = InstrumentationRegistry.getInstrumentation().targetContext.resources,
+ logger = TestThemesUserEventLogger(),
)
val observedSelectedIndex = collectLastValue(underTest.selectedIndex)
advanceTimeBy(ClockCarouselViewModel.CLOCKS_EVENT_UPDATE_DELAY_MILLIS)
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt
deleted file mode 100644
index 19a704c9..00000000
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.clock.ui.viewmodel
-
-import androidx.test.filters.SmallTest
-import androidx.test.platform.app.InstrumentationRegistry
-import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
-import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
-import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
-import com.android.customization.picker.clock.shared.ClockSize
-import com.android.customization.picker.clock.shared.model.ClockMetadataModel
-import com.android.wallpaper.testing.FakeSnapshotStore
-import com.android.wallpaper.testing.collectLastValue
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.runBlocking
-import kotlinx.coroutines.test.StandardTestDispatcher
-import kotlinx.coroutines.test.resetMain
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.robolectric.RobolectricTestRunner
-
-@OptIn(ExperimentalCoroutinesApi::class)
-@SmallTest
-@RunWith(RobolectricTestRunner::class)
-class ClockSectionViewModelTest {
-
- private lateinit var clockColorMap: Map<String, ClockColorViewModel>
- private lateinit var interactor: ClockPickerInteractor
- private lateinit var underTest: ClockSectionViewModel
-
- @Before
- fun setUp() {
- val testDispatcher = StandardTestDispatcher()
- Dispatchers.setMain(testDispatcher)
- val context = InstrumentationRegistry.getInstrumentation().targetContext
- clockColorMap = ClockColorViewModel.getPresetColorMap(context.resources)
- interactor =
- ClockPickerInteractor(
- repository = FakeClockPickerRepository(),
- snapshotRestorer = {
- ClockPickerSnapshotRestorer(interactor = interactor).apply {
- runBlocking { setUpSnapshotRestorer(store = FakeSnapshotStore()) }
- }
- },
- )
- underTest =
- ClockSectionViewModel(
- context,
- interactor,
- )
- }
-
- @After
- fun tearDown() {
- Dispatchers.resetMain()
- }
-
- @Test
- fun setSelectedClock() = runTest {
- val colorGrey = clockColorMap.values.first()
- val observedSelectedClockColorAndSizeText =
- collectLastValue(underTest.selectedClockColorAndSizeText)
-
- interactor.setClockColor(
- colorGrey.colorId,
- ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
- ClockSettingsViewModel.blendColorWithTone(
- colorGrey.color,
- colorGrey.getColorTone(ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS),
- )
- )
- interactor.setClockSize(ClockSize.DYNAMIC)
-
- assertThat(observedSelectedClockColorAndSizeText()).isEqualTo("Grey, dynamic")
- }
-}
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt
index f09e9779..d3ae9cba 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt
@@ -1,8 +1,10 @@
package com.android.customization.picker.clock.ui.viewmodel
import android.content.Context
+import android.stats.style.StyleEnums
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
+import com.android.customization.module.logging.TestThemesUserEventLogger
import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
@@ -35,6 +37,7 @@ import org.robolectric.RobolectricTestRunner
@RunWith(RobolectricTestRunner::class)
class ClockSettingsViewModelTest {
+ private val logger = TestThemesUserEventLogger()
private lateinit var context: Context
private lateinit var testScope: TestScope
private lateinit var colorPickerInteractor: ColorPickerInteractor
@@ -81,6 +84,7 @@ class ClockSettingsViewModelTest {
context = context,
clockPickerInteractor = clockPickerInteractor,
colorPickerInteractor = colorPickerInteractor,
+ logger = logger,
getIsReactiveToTone = getIsReactiveToTone,
)
.create(ClockSettingsViewModel::class.java)
@@ -186,9 +190,11 @@ class ClockSettingsViewModelTest {
val observedClockSize = collectLastValue(underTest.selectedClockSize)
underTest.setClockSize(ClockSize.DYNAMIC)
assertThat(observedClockSize()).isEqualTo(ClockSize.DYNAMIC)
+ assertThat(logger.getLoggedClockSize()).isEqualTo(StyleEnums.CLOCK_SIZE_DYNAMIC)
underTest.setClockSize(ClockSize.SMALL)
assertThat(observedClockSize()).isEqualTo(ClockSize.SMALL)
+ assertThat(logger.getLoggedClockSize()).isEqualTo(StyleEnums.CLOCK_SIZE_SMALL)
}
@Test