From f3e6d40a4af7925455ea230a856632f131619a24 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 30 Sep 2026 13:34:52 +0900 Subject: [PATCH] =?UTF-8?q?feat(gift):=20=EC=84=A0=EB=AC=BC=20=EB=8F=84?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=20=EC=83=81=ED=83=9C=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/v2/gift/domain/GiftListType.kt | 12 ++++++++++++ .../sodalive/v2/gift/domain/GiftSize.kt | 12 ++++++++++++ .../sodalive/v2/gift/domain/GiftStatus.kt | 11 +++++++++++ .../sodalive/v2/gift/domain/GiftStatusTest.kt | 19 +++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftListType.kt create mode 100644 src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftSize.kt create mode 100644 src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatus.kt create mode 100644 src/test/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatusTest.kt diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftListType.kt b/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftListType.kt new file mode 100644 index 00000000..a6a1ac13 --- /dev/null +++ b/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftListType.kt @@ -0,0 +1,12 @@ +package kr.co.vividnext.sodalive.v2.gift.domain + +enum class GiftListType { + ALL, + SENT, + RECEIVED +} + +enum class GiftDirection { + SENT, + RECEIVED +} diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftSize.kt b/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftSize.kt new file mode 100644 index 00000000..0b385c22 --- /dev/null +++ b/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftSize.kt @@ -0,0 +1,12 @@ +package kr.co.vividnext.sodalive.v2.gift.domain + +enum class GiftSize( + val displayName: String, + val maxTotalLengthCm: Int, + val maxWeightKg: Int, + val defaultPriceCan: Int +) { + SMALL("소형", 100, 5, 100), + MEDIUM("중형", 120, 15, 150), + LARGE("대형", 160, 20, 200) +} diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatus.kt b/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatus.kt new file mode 100644 index 00000000..5ea6f6a5 --- /dev/null +++ b/src/main/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatus.kt @@ -0,0 +1,11 @@ +package kr.co.vividnext.sodalive.v2.gift.domain + +enum class GiftStatus(val displayName: String) { + RECEIVED("접수 완료"), + TRACKING_REGISTERED("발송 확인"), + ARRIVED_AT_MAILBOX("사서함 도착"), + INSPECTION_COMPLETED("검수 완료"), + DELIVERED("전달 완료"), + UNDELIVERABLE("전달 불가"), + CANCELED("신청 취소") +} diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatusTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatusTest.kt new file mode 100644 index 00000000..88896f55 --- /dev/null +++ b/src/test/kotlin/kr/co/vividnext/sodalive/v2/gift/domain/GiftStatusTest.kt @@ -0,0 +1,19 @@ +package kr.co.vividnext.sodalive.v2.gift.domain + +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test + +class GiftStatusTest { + @Test + @DisplayName("선물 상태 표시명은 한글 띄어쓰기를 통일한다") + fun shouldUseConsistentKoreanSpacingForDisplayNames() { + assertEquals("접수 완료", GiftStatus.RECEIVED.displayName) + assertEquals("발송 확인", GiftStatus.TRACKING_REGISTERED.displayName) + assertEquals("사서함 도착", GiftStatus.ARRIVED_AT_MAILBOX.displayName) + assertEquals("검수 완료", GiftStatus.INSPECTION_COMPLETED.displayName) + assertEquals("전달 완료", GiftStatus.DELIVERED.displayName) + assertEquals("전달 불가", GiftStatus.UNDELIVERABLE.displayName) + assertEquals("신청 취소", GiftStatus.CANCELED.displayName) + } +}