feat(content): New&Hot 전체보기 이동을 연결한다
This commit is contained in:
@@ -332,7 +332,7 @@ class ContentMainFragmentSourceTest {
|
||||
"binding.viewContentRecommendedAudioTitle.setTitle(" +
|
||||
"R.string.content_recommendation_section_recommended_audio)"
|
||||
)
|
||||
assertFalse(source.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
assertTrue(source.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -376,7 +376,17 @@ class ContentMainFragmentSourceTest {
|
||||
assertSourceContains(source, "openContentAllTab(MainContentAllType.FREE, ContentSort.POPULAR)")
|
||||
assertSourceContains(source, "binding.viewContentPointAudioTitle.ivSectionTitleChevron.setOnClickListener")
|
||||
assertSourceContains(source, "openContentAllTab(MainContentAllType.POINT, ContentSort.POPULAR)")
|
||||
assertFalse(source.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
assertTrue(source.contains("import kr.co.vividnext.sodalive.v2.main.content.overview.ContentOverviewActivity"))
|
||||
assertTrue(source.contains("import kr.co.vividnext.sodalive.v2.main.content.overview.data.ContentOverviewType"))
|
||||
assertTrue(source.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
assertTrue(source.contains("openContentOverview(ContentOverviewType.NEW_AND_HOT_AUDIO)"))
|
||||
val functionSource = source.substringFrom("private fun openContentOverview(type: ContentOverviewType)")
|
||||
assertTrue(functionSource.contains("ensureMainV2NavigationAllowed"))
|
||||
assertTrue(functionSource.contains("startActivity(ContentOverviewActivity.newIntent(requireContext(), type))"))
|
||||
assertTrue(
|
||||
functionSource.indexOf("ensureMainV2NavigationAllowed") <
|
||||
functionSource.indexOf("startActivity(")
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -525,6 +535,15 @@ class ContentMainFragmentSourceTest {
|
||||
assertTrue(message ?: "Expected source to contain: $expected", source.contains(expected))
|
||||
}
|
||||
|
||||
private fun String.substringFrom(marker: String): String {
|
||||
val startIndex = indexOf(marker)
|
||||
assertTrue("Missing function: $marker", startIndex >= 0)
|
||||
val nextFunctionIndex = indexOf("\n private fun ", startIndex + marker.length)
|
||||
.takeIf { it >= 0 }
|
||||
?: length
|
||||
return substring(startIndex, nextFunctionIndex)
|
||||
}
|
||||
|
||||
private fun projectFile(relativePath: String): File {
|
||||
val candidates = listOf(File(relativePath), File("../$relativePath"))
|
||||
return candidates.firstOrNull { it.exists() }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.v2.main.content.overview
|
||||
|
||||
import android.app.Application
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -85,7 +84,7 @@ class ContentOverviewActivitySourceTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `manifest registers ContentOverviewActivity and Phase 7 routing is not added`() {
|
||||
fun `manifest registers ContentOverviewActivity and Phase 7 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"
|
||||
@@ -95,8 +94,8 @@ class ContentOverviewActivitySourceTest {
|
||||
).readText()
|
||||
|
||||
assertTrue(manifest.contains(".v2.main.content.overview.ContentOverviewActivity"))
|
||||
assertFalse(homeSource.contains("viewHomeFirstAudioTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
assertFalse(contentSource.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
assertTrue(homeSource.contains("viewHomeFirstAudioTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
assertTrue(contentSource.contains("viewContentNewAndHotTitle.ivSectionTitleChevron.setOnClickListener"))
|
||||
}
|
||||
|
||||
private fun projectFile(relativePath: String): File {
|
||||
|
||||
Reference in New Issue
Block a user