test(country-fixture): 강제 국가 매핑 판별 함수와 회귀 테스트를 추가한다

This commit is contained in:
2026-11-06 20:41:58 +09:00
parent 8a94c1f20e
commit 790ce48531
2 changed files with 32 additions and 0 deletions
@@ -0,0 +1,10 @@
package kr.co.vividnext.sodalive.support
import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.contentpreference.resolveCountryCodeWithForcedMapping
// Fixture selection only: two distinct headers detect forced countries without copying member IDs.
internal fun Member.hasForcedCountryMapping(): Boolean {
return resolveCountryCodeWithForcedMapping(this, "KR") != "KR" ||
resolveCountryCodeWithForcedMapping(this, "JP") != "JP"
}
@@ -0,0 +1,22 @@
package kr.co.vividnext.sodalive.support
import kr.co.vividnext.sodalive.member.Member
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.CsvSource
class CountryMemberFixturesTest {
@ParameterizedTest
@CsvSource("16, true", "17958, true", "29721, true", "100, false")
@DisplayName("일반 회원 fixture는 강제 국가 매핑 회원과 기존 목록에서 누락된 회원을 제외한다")
fun shouldIdentifyForcedCountryMappingsForFixtureSelection(memberId: Long, expected: Boolean) {
val member = Member(
email = "member$memberId@test.com",
password = "password",
nickname = "member$memberId"
).apply { id = memberId }
assertEquals(expected, member.hasForcedCountryMapping())
}
}