Skip to content

Commit cccbe49

Browse files
committed
Analysis: Suppress all photo picker related test deprecated warnings
Warning Messages: - "'PhotoPickerViewModel' is deprecated. This class is being refactored, if you implement any change, please also update {@link org.wordpress.android.ui.mediapicker.MediaPickerViewModel}" - "'DeviceMediaListBuilder' is deprecated. This class is being refactored, if you implement any change, please also update {@link org.wordpress.android.ui.mediapicker.loader.DeviceListBuilder}" - "'PhotoPickerItem' is deprecated. This class is being refactored, if you implement any change, please also update {@link org.wordpress.android.ui.mediapicker.MediaItem}" - "'PhotoPickerUiItem' is deprecated. This class is being refactored, if you implement any change, please also update {@link org.wordpress.android.ui.mediapicker.MedaPickerUiItem}" These deprecated warnings are suppressed, that is, instead of being resolved, since a resolution would require a proper migration. Also, as part of this commit, a few other minor warnings, including imports, got resolved too. Example Explanation: See KDoc on 'PhotoPickerViewModel' class. "This class is being refactored, if you implement any change, please also update {@link org.wordpress.android.ui.mediapicker .MediaPickerViewModel}"
1 parent fb3a1eb commit cccbe49

1 file changed

Lines changed: 52 additions & 41 deletions

File tree

WordPress/src/test/java/org/wordpress/android/ui/photopicker/PhotoPickerViewModelTest.kt

Lines changed: 52 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,6 @@ import org.wordpress.android.analytics.AnalyticsTracker.Stat.MEDIA_PICKER_PREVIE
1818
import org.wordpress.android.fluxc.model.SiteModel
1919
import org.wordpress.android.test
2020
import org.wordpress.android.ui.media.MediaBrowserType
21-
import org.wordpress.android.ui.media.MediaBrowserType.EDITOR_PICKER
22-
import org.wordpress.android.ui.media.MediaBrowserType.GUTENBERG_IMAGE_PICKER
23-
import org.wordpress.android.ui.media.MediaBrowserType.GUTENBERG_MEDIA_PICKER
24-
import org.wordpress.android.ui.media.MediaBrowserType.GUTENBERG_SINGLE_IMAGE_PICKER
25-
import org.wordpress.android.ui.media.MediaBrowserType.GUTENBERG_SINGLE_VIDEO_PICKER
26-
import org.wordpress.android.ui.photopicker.PhotoPickerViewModel.ActionModeUiModel
27-
import org.wordpress.android.ui.photopicker.PhotoPickerViewModel.BottomBarUiModel.BottomBar
28-
import org.wordpress.android.ui.photopicker.PhotoPickerViewModel.PhotoListUiModel
29-
import org.wordpress.android.ui.photopicker.PhotoPickerViewModel.PhotoPickerUiState
30-
import org.wordpress.android.ui.photopicker.PhotoPickerViewModel.SoftAskViewUiModel
3121
import org.wordpress.android.ui.posts.editor.media.CopyMediaToAppStorageUseCase
3222
import org.wordpress.android.ui.posts.editor.media.GetMediaModelUseCase
3323
import org.wordpress.android.ui.utils.UiString
@@ -40,6 +30,7 @@ import org.wordpress.android.viewmodel.Event
4030
import org.wordpress.android.viewmodel.ResourceProvider
4131

4232
class PhotoPickerViewModelTest : BaseUnitTest() {
33+
@Suppress("DEPRECATION")
4334
@Mock lateinit var deviceMediaListBuilder: DeviceMediaListBuilder
4435
@Mock lateinit var analyticsUtilsWrapper: AnalyticsUtilsWrapper
4536
@Mock lateinit var analyticsTrackerWrapper: AnalyticsTrackerWrapper
@@ -50,17 +41,18 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
5041
@Mock lateinit var resourceProvider: ResourceProvider
5142
@Mock lateinit var copyMediaToAppStorageUseCase: CopyMediaToAppStorageUseCase
5243
@Mock lateinit var getMediaModelUseCase: GetMediaModelUseCase
53-
private lateinit var viewModel: PhotoPickerViewModel
54-
private var uiStates = mutableListOf<PhotoPickerUiState>()
44+
@Suppress("DEPRECATION") private lateinit var viewModel: PhotoPickerViewModel
45+
@Suppress("DEPRECATION") private var uiStates = mutableListOf<PhotoPickerViewModel.PhotoPickerUiState>()
5546
private var navigateEvents = mutableListOf<Event<UriWrapper>>()
56-
private val singleSelectBrowserType = GUTENBERG_SINGLE_IMAGE_PICKER
47+
private val singleSelectBrowserType = MediaBrowserType.GUTENBERG_SINGLE_IMAGE_PICKER
5748
private val multiSelectBrowserType = MediaBrowserType.GUTENBERG_IMAGE_PICKER
5849
private val site = SiteModel()
59-
private lateinit var firstItem: PhotoPickerItem
60-
private lateinit var secondItem: PhotoPickerItem
50+
@Suppress("DEPRECATION") private lateinit var firstItem: PhotoPickerItem
51+
@Suppress("DEPRECATION") private lateinit var secondItem: PhotoPickerItem
6152

62-
@InternalCoroutinesApi
6353
@Before
54+
@InternalCoroutinesApi
55+
@Suppress("DEPRECATION")
6456
fun setUp() {
6557
viewModel = PhotoPickerViewModel(
6658
TEST_DISPATCHER,
@@ -222,7 +214,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
222214
viewModel.refreshData(false)
223215

224216
assertThat(navigateEvents).isEmpty()
225-
clickItem(0)
217+
clickItem()
226218
assertThat(navigateEvents).isNotEmpty
227219
verify(analyticsTrackerWrapper).track(eq(MEDIA_PICKER_PREVIEW_OPENED), any<MutableMap<String, Any>>())
228220
}
@@ -243,7 +235,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
243235

244236
@Test
245237
fun `action mode title is Use Photo when photo browser type`() = test {
246-
setupViewModel(listOf(firstItem, secondItem), GUTENBERG_SINGLE_IMAGE_PICKER)
238+
setupViewModel(listOf(firstItem, secondItem), MediaBrowserType.GUTENBERG_SINGLE_IMAGE_PICKER)
247239

248240
viewModel.refreshData(false)
249241

@@ -254,7 +246,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
254246

255247
@Test
256248
fun `action mode title is Use Video when video browser type`() = test {
257-
setupViewModel(listOf(firstItem, secondItem), GUTENBERG_SINGLE_VIDEO_PICKER)
249+
setupViewModel(listOf(firstItem, secondItem), MediaBrowserType.GUTENBERG_SINGLE_VIDEO_PICKER)
258250

259251
viewModel.refreshData(false)
260252

@@ -265,7 +257,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
265257

266258
@Test
267259
fun `action mode title is Use Media when image and video browser type`() = test {
268-
setupViewModel(listOf(firstItem, secondItem), GUTENBERG_MEDIA_PICKER)
260+
setupViewModel(listOf(firstItem, secondItem), MediaBrowserType.GUTENBERG_MEDIA_PICKER)
269261

270262
viewModel.refreshData(false)
271263

@@ -277,7 +269,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
277269
@Test
278270
fun `action mode title is Select N items when multi selection available`() = test {
279271
whenever(resourceProvider.getString(R.string.cab_selected)).thenReturn("%d selected")
280-
setupViewModel(listOf(firstItem, secondItem), GUTENBERG_IMAGE_PICKER)
272+
setupViewModel(listOf(firstItem, secondItem), MediaBrowserType.GUTENBERG_IMAGE_PICKER)
281273

282274
viewModel.refreshData(false)
283275

@@ -290,7 +282,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
290282
@Test
291283
fun `action mode shows confirmation action in EDITOR PICKER`() = test {
292284
whenever(resourceProvider.getString(R.string.cab_selected)).thenReturn("%d selected")
293-
setupViewModel(listOf(firstItem, secondItem), EDITOR_PICKER)
285+
setupViewModel(listOf(firstItem, secondItem), MediaBrowserType.EDITOR_PICKER)
294286

295287
viewModel.refreshData(false)
296288

@@ -299,22 +291,31 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
299291
assertActionModeVisible(UiStringText("1 selected"), showConfirmationAction = true)
300292
}
301293

294+
@Suppress("DEPRECATION")
302295
private fun selectItem(position: Int) {
303-
(uiStates.last().photoListUiModel as PhotoListUiModel.Data).items[position].toggleAction.toggle()
296+
(uiStates.last().photoListUiModel as PhotoPickerViewModel.PhotoListUiModel.Data)
297+
.items[position]
298+
.toggleAction
299+
.toggle()
304300
}
305301

306-
private fun clickItem(position: Int) {
307-
(uiStates.last().photoListUiModel as PhotoListUiModel.Data).items[position].clickAction.click()
302+
@Suppress("DEPRECATION")
303+
private fun clickItem() {
304+
(uiStates.last().photoListUiModel as PhotoPickerViewModel.PhotoListUiModel.Data)
305+
.items[0]
306+
.clickAction
307+
.click()
308308
}
309309

310+
@Suppress("DEPRECATION")
310311
private fun assertDataList(
311312
browserType: MediaBrowserType,
312313
selectedItems: List<PhotoPickerItem>,
313314
domainItems: List<PhotoPickerItem>
314315
) {
315316
uiStates.last().apply {
316-
assertThat(this.photoListUiModel).isNotNull()
317-
(uiStates.last().photoListUiModel as PhotoListUiModel.Data).apply {
317+
assertThat(this.photoListUiModel).isNotNull
318+
(uiStates.last().photoListUiModel as PhotoPickerViewModel.PhotoListUiModel.Data).apply {
318319
assertThat(this.items).hasSize(domainItems.size)
319320
domainItems.forEachIndexed { index, photoPickerItem ->
320321
val isSelected = selectedItems.any { it.id == photoPickerItem.id }
@@ -333,21 +334,24 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
333334
assertSoftAskUiModelHidden()
334335
}
335336

337+
@Suppress("DEPRECATION")
336338
private fun assertSoftAskUiModelVisible() {
337339
uiStates.last().softAskViewUiModel.let {
338-
val model = it as SoftAskViewUiModel.Visible
340+
val model = it as PhotoPickerViewModel.SoftAskViewUiModel.Visible
339341
assertThat(model.allowId).isEqualTo(UiStringRes(R.string.photo_picker_soft_ask_allow))
340342
assertThat(model.isAlwaysDenied).isEqualTo(false)
341343
assertThat(model.label).isEqualTo("Soft ask label")
342344
}
343345
}
344346

347+
@Suppress("DEPRECATION")
345348
private fun assertSoftAskUiModelHidden() {
346349
uiStates.last().softAskViewUiModel.let {
347-
assertThat(it is SoftAskViewUiModel.Hidden).isTrue()
350+
assertThat(it is PhotoPickerViewModel.SoftAskViewUiModel.Hidden).isTrue
348351
}
349352
}
350353

354+
@Suppress("DEPRECATION")
351355
private suspend fun setupViewModel(
352356
domainModel: List<PhotoPickerItem>,
353357
browserType: MediaBrowserType,
@@ -369,7 +373,8 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
369373
assertThat(uiStates).hasSize(1)
370374
}
371375

372-
private fun PhotoListUiModel.Data.assertSelection(
376+
@Suppress("DEPRECATION")
377+
private fun PhotoPickerViewModel.PhotoListUiModel.Data.assertSelection(
373378
position: Int,
374379
isSelected: Boolean,
375380
isMultiSelection: Boolean = false,
@@ -388,6 +393,7 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
388393
}
389394
}
390395

396+
@Suppress("DEPRECATION")
391397
private fun PhotoPickerUiItem.assertEqualToDomainItem(domainItem: PhotoPickerItem) {
392398
assertThat(this.id).isEqualTo(domainItem.id)
393399
if (domainItem.isVideo) {
@@ -399,41 +405,46 @@ class PhotoPickerViewModelTest : BaseUnitTest() {
399405
assertThat(this.uri).isEqualTo(domainItem.uri)
400406
}
401407

408+
@Suppress("DEPRECATION")
402409
private fun assertBottomBarHidden() {
403410
uiStates.last().apply {
404-
assertThat(bottomBarUiModel.type).isEqualTo(BottomBar.NONE)
411+
assertThat(bottomBarUiModel.type).isEqualTo(PhotoPickerViewModel.BottomBarUiModel.BottomBar.NONE)
405412
}
406413
}
407414

415+
@Suppress("DEPRECATION")
408416
private fun assertSingleIconMediaBottomBarVisible() {
409417
uiStates.last().apply {
410-
assertThat(bottomBarUiModel.type).isEqualTo(BottomBar.MEDIA_SOURCE)
411-
assertThat(bottomBarUiModel.canShowInsertEditBottomBar).isTrue()
412-
assertThat(bottomBarUiModel.hideMediaBottomBarInPortrait).isFalse()
413-
assertThat(bottomBarUiModel.showCameraButton).isFalse()
418+
assertThat(bottomBarUiModel.type).isEqualTo(PhotoPickerViewModel.BottomBarUiModel.BottomBar.MEDIA_SOURCE)
419+
assertThat(bottomBarUiModel.canShowInsertEditBottomBar).isTrue
420+
assertThat(bottomBarUiModel.hideMediaBottomBarInPortrait).isFalse
421+
assertThat(bottomBarUiModel.showCameraButton).isFalse
414422
assertThat(bottomBarUiModel.showWPMediaIcon).isFalse()
415423
}
416424
}
417425

426+
@Suppress("DEPRECATION")
418427
private fun assertInsertEditBottomBarVisible() {
419428
uiStates.last().apply {
420-
assertThat(bottomBarUiModel.type).isEqualTo(BottomBar.INSERT_EDIT)
421-
assertThat(bottomBarUiModel.canShowInsertEditBottomBar).isTrue()
422-
assertThat(bottomBarUiModel.hideMediaBottomBarInPortrait).isFalse()
423-
assertThat(bottomBarUiModel.showCameraButton).isFalse()
429+
assertThat(bottomBarUiModel.type).isEqualTo(PhotoPickerViewModel.BottomBarUiModel.BottomBar.INSERT_EDIT)
430+
assertThat(bottomBarUiModel.canShowInsertEditBottomBar).isTrue
431+
assertThat(bottomBarUiModel.hideMediaBottomBarInPortrait).isFalse
432+
assertThat(bottomBarUiModel.showCameraButton).isFalse
424433
assertThat(bottomBarUiModel.showWPMediaIcon).isFalse()
425434
}
426435
}
427436

437+
@Suppress("DEPRECATION")
428438
private fun assertActionModeHidden() {
429439
uiStates.last().actionModeUiModel.let { model ->
430-
assertThat(model is ActionModeUiModel.Hidden).isTrue()
440+
assertThat(model is PhotoPickerViewModel.ActionModeUiModel.Hidden).isTrue
431441
}
432442
}
433443

444+
@Suppress("DEPRECATION")
434445
private fun assertActionModeVisible(title: UiString, showConfirmationAction: Boolean = false) {
435446
uiStates.last().actionModeUiModel.let {
436-
val model = it as ActionModeUiModel.Visible
447+
val model = it as PhotoPickerViewModel.ActionModeUiModel.Visible
437448
assertThat(model.actionModeTitle).isEqualTo(title)
438449
assertThat(model.showConfirmAction).isEqualTo(showConfirmationAction)
439450
}

0 commit comments

Comments
 (0)