diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt new file mode 100644 index 00000000..0e8bfee3 --- /dev/null +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt @@ -0,0 +1,45 @@ +package com.sangdol.tosspaymock.business.domain + +object RandomCardValueGenerator { + fun cardNumber(): String { + return "${(10000000..99999999).random()}****${(100..999).random()}*" + } + + fun approvalNumber(): String { + return "${(0..99999999).random()}".padStart(8, '0') + } + + fun installmentPlanMonths(amount: Int): Int { + return if (amount < 50_000 || Math.random() < 0.95) { + 0 + } else { + (1..6).random() + } + } +} + +object RandomEasypayValueGenerator { + fun point(amount: Int): Int = + if (amount < 100 || Math.random() < 0.8) { + 0 + } else { + // 100~amount 까지 100원 단위로 생성 + ((100..amount).random() / 100) * 100 + } +} + +object RandomPaymentValueGenerator { + fun mId(): String { + val words = ('a'..'z') + val randomValue = (1..9).map { words.random() }.joinToString("") + + return "tgen_${randomValue}" + } + + fun transactionKey(): String { + val prefix = "txrd" + val characters = ('0'..'9') + ('a'..'z') + val randomString = (1..24).map { characters.random() }.joinToString("") + return "${prefix}_${randomString}" + } +}