diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewActivitySourceTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewActivitySourceTest.kt index 114317fe..b3a13721 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewActivitySourceTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewActivitySourceTest.kt @@ -84,17 +84,13 @@ class ContentOverviewActivitySourceTest { } @Test - fun `manifest registers ContentOverviewActivity and Phase 7 routing is added`() { + fun `manifest registers ContentOverviewActivity and New Hot routing is added`() { val manifest = projectFile("app/src/main/AndroidManifest.xml").readText() - val homeSource = projectFile( - "app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragment.kt" - ).readText() val contentSource = projectFile( "app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ContentMainFragment.kt" ).readText() assertTrue(manifest.contains(".v2.main.content.overview.ContentOverviewActivity")) - assertTrue(homeSource.contains("viewHomeFirstAudioTitle.ivSectionTitleChevron.setOnClickListener")) assertTrue(contentSource.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener")) } diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewMapperTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewMapperTest.kt index 2e759dd2..2b4b1535 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewMapperTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewMapperTest.kt @@ -21,10 +21,6 @@ class ContentOverviewMapperTest { R.string.content_recommendation_section_new_and_hot, ContentOverviewType.NEW_AND_HOT_AUDIO.toTitleResId() ) - assertEquals( - R.string.home_recommendation_section_first_audio_contents, - ContentOverviewType.FIRST_AUDIO_CONTENT.toTitleResId() - ) } @Test @@ -60,14 +56,14 @@ class ContentOverviewMapperTest { @Test fun `page response preserves paging metadata and type`() { val content = pageResponse( - type = ContentOverviewType.FIRST_AUDIO_CONTENT, + type = ContentOverviewType.NEW_AND_HOT_AUDIO, page = 2, size = 20, hasNext = true, items = listOf(item(contentId = 7L)) ).toContent() - assertEquals(ContentOverviewType.FIRST_AUDIO_CONTENT, content.type) + assertEquals(ContentOverviewType.NEW_AND_HOT_AUDIO, content.type) assertEquals(2, content.page) assertEquals(20, content.size) assertTrue(content.hasNext) diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewViewModelTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewViewModelTest.kt index df610001..c25fd62b 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewViewModelTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/content/overview/ContentOverviewViewModelTest.kt @@ -10,7 +10,6 @@ import io.reactivex.rxjava3.core.Scheduler import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.plugins.RxJavaPlugins import io.reactivex.rxjava3.schedulers.Schedulers -import io.reactivex.rxjava3.subjects.SingleSubject import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.v2.main.content.overview.data.ContentOverviewItemResponse @@ -58,12 +57,12 @@ class ContentOverviewViewModelTest { @Test fun `초기 로드는 전달받은 type으로 첫 페이지를 요청하고 Content를 emit한다`() { stubGetContents( - type = ContentOverviewType.FIRST_AUDIO_CONTENT, + type = ContentOverviewType.NEW_AND_HOT_AUDIO, response = Single.just( ApiResponse( true, pageResponse( - type = ContentOverviewType.FIRST_AUDIO_CONTENT, + type = ContentOverviewType.NEW_AND_HOT_AUDIO, items = listOf(item(11L)) ), null @@ -71,14 +70,14 @@ class ContentOverviewViewModelTest { ) ) - viewModel.loadFirstPage(ContentOverviewType.FIRST_AUDIO_CONTENT) + viewModel.loadFirstPage(ContentOverviewType.NEW_AND_HOT_AUDIO) val state = viewModel.overviewStateLiveData.requireValue() as ContentOverviewUiState.Content - assertEquals(ContentOverviewType.FIRST_AUDIO_CONTENT, state.type) + assertEquals(ContentOverviewType.NEW_AND_HOT_AUDIO, state.type) assertEquals(0, state.page) assertEquals(20, state.size) assertEquals(listOf(11L), state.items.map { it.contentId }) - verifyGetContents(type = ContentOverviewType.FIRST_AUDIO_CONTENT, page = 0) + verifyGetContents(type = ContentOverviewType.NEW_AND_HOT_AUDIO, page = 0) } @Test @@ -200,39 +199,6 @@ class ContentOverviewViewModelTest { assertEquals("page failed", state.paginationErrorMessage) } - @Test - fun `새 type 요청 이후 이전 stale response는 현재 상태를 덮어쓰지 않는다`() { - val pending = SingleSubject.create>() - stubGetContents(type = ContentOverviewType.NEW_AND_HOT_AUDIO, response = pending) - stubGetContents( - type = ContentOverviewType.FIRST_AUDIO_CONTENT, - response = Single.just( - ApiResponse( - true, - pageResponse( - type = ContentOverviewType.FIRST_AUDIO_CONTENT, - items = listOf(item(9L)) - ), - null - ) - ) - ) - - viewModel.loadFirstPage(ContentOverviewType.NEW_AND_HOT_AUDIO) - viewModel.loadFirstPage(ContentOverviewType.FIRST_AUDIO_CONTENT) - pending.onSuccess( - ApiResponse( - true, - pageResponse(items = listOf(item(1L))), - null - ) - ) - - val state = viewModel.overviewStateLiveData.requireValue() as ContentOverviewUiState.Content - assertEquals(ContentOverviewType.FIRST_AUDIO_CONTENT, state.type) - assertEquals(listOf(9L), state.items.map { it.contentId }) - } - private fun stubGetContents( type: ContentOverviewType = ContentOverviewType.NEW_AND_HOT_AUDIO, page: Int = 0,