@@ -18,16 +18,6 @@ import org.wordpress.android.analytics.AnalyticsTracker.Stat.MEDIA_PICKER_PREVIE
1818import org.wordpress.android.fluxc.model.SiteModel
1919import org.wordpress.android.test
2020import 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
3121import org.wordpress.android.ui.posts.editor.media.CopyMediaToAppStorageUseCase
3222import org.wordpress.android.ui.posts.editor.media.GetMediaModelUseCase
3323import org.wordpress.android.ui.utils.UiString
@@ -40,6 +30,7 @@ import org.wordpress.android.viewmodel.Event
4030import org.wordpress.android.viewmodel.ResourceProvider
4131
4232class 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