feat(main): 로그인 가드 헬퍼를 추가한다

This commit is contained in:
2026-06-27 02:35:37 +09:00
parent 12ea65f14f
commit 6299259f89
2 changed files with 116 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
package kr.co.vividnext.sodalive.v2.main
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import java.io.File
class MainV2LoginGuardSourceTest {
@Test
fun `MainV2 로그인 가드는 v2 Activity 로그인 진입점과 성인 콘텐츠 설정을 사용한다`() {
val source = projectFile("app/src/main/java/kr/co/vividnext/sodalive/v2/main/MainV2LoginGuard.kt").readText()
assertTrue(source.contains("fun Fragment.ensureMainV2NavigationAllowed("))
assertTrue(source.contains("requiresAdultContentAccess: Boolean = false"))
assertTrue(source.contains("SharedPreferenceManager.token.isBlank()"))
assertTrue(source.contains("(activity as? MainV2Activity)?.showLoginActivity()"))
assertTrue(source.contains("SharedPreferenceManager.countryCode.ifBlank { \"KR\" }"))
assertTrue(source.contains("SharedPreferenceManager.isAuth"))
assertTrue(source.contains("SodaDialog("))
assertTrue(source.contains("Auth.auth(requireActivity(), requireContext())"))
assertTrue(source.contains("Gson().fromJson(json, BootpayResponse::class.java)"))
assertTrue(source.contains("AuthVerifyRequest(receiptId = bootpayResponse.data.receiptId)"))
assertTrue(source.contains("myPageViewModel.authVerify(request)"))
assertTrue(source.contains("SplashActivity::class.java"))
assertTrue(source.contains("SharedPreferenceManager.isAdultContentVisible"))
assertTrue(source.contains("ContentSettingsActivity::class.java"))
assertTrue(source.contains("putExtra(Constants.EXTRA_SHOW_SENSITIVE_CONTENT_GUIDE, true)"))
assertFalse(source.contains("Auth.auth(requireActivity(), requireContext()) {}"))
assertFalse(source.contains("kr.co.vividnext.sodalive.main.MainActivity"))
}
private fun projectFile(relativePath: String): File {
val candidates = listOf(File(relativePath), File("../$relativePath"))
return candidates.firstOrNull { it.exists() }
?: error("Project file not found: $relativePath")
}
}