From 72c9b8b7c508e4ddc4f03d93c4d3ed4eb971afe1 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Sun, 8 Sep 2024 00:58:18 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Reaction=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/event/reaction/ReactionEvent.kt | 22 +++++++++ .../hideout/core/domain/model/actor/Actor.kt | 4 +- .../core/domain/model/emoji/CustomEmoji.kt | 2 +- .../emoji/{EmojiId.kt => CustomEmojiId.kt} | 2 +- .../hideout/core/domain/model/post/Post.kt | 6 +-- .../core/domain/model/post/PostContent.kt | 4 +- .../core/domain/model/reaction/Reaction.kt | 49 +++++++++++++++++++ .../core/domain/model/reaction/ReactionId.kt | 4 ++ .../model/reaction/ReactionRepository.kt | 7 +++ .../model/timelineobject/TimelineObject.kt | 6 +-- .../exposed/ActorResultRowMapper.kt | 4 +- .../infrastructure/exposed/PostQueryMapper.kt | 4 +- .../CustomEmojiRepositoryImpl.kt | 6 +-- .../MongoInternalTimelineObjectRepository.kt | 4 +- .../domain/model/actor/TestActorFactory.kt | 4 +- .../{EmojiIdTest.kt => CustomEmojiIdTest.kt} | 6 +-- .../core/domain/model/post/PostTest.kt | 16 +++--- 17 files changed, 116 insertions(+), 34 deletions(-) create mode 100644 hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/reaction/ReactionEvent.kt rename hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/{EmojiId.kt => CustomEmojiId.kt} (93%) create mode 100644 hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt create mode 100644 hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionId.kt create mode 100644 hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionRepository.kt rename hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/{EmojiIdTest.kt => CustomEmojiIdTest.kt} (82%) diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/reaction/ReactionEvent.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/reaction/ReactionEvent.kt new file mode 100644 index 00000000..7e89361e --- /dev/null +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/event/reaction/ReactionEvent.kt @@ -0,0 +1,22 @@ +package dev.usbharu.hideout.core.domain.event.reaction + +import dev.usbharu.hideout.core.domain.model.reaction.Reaction +import dev.usbharu.hideout.core.domain.model.reaction.ReactionId +import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEvent +import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEventBody + +class ReactionEventFactory(private val reaction: Reaction) { + fun createEvent(reactionEvent: ReactionEvent): DomainEvent = + DomainEvent.create(reactionEvent.eventName, ReactionEventBody(reaction)) +} + +class ReactionEventBody( + reaction: Reaction +) : DomainEventBody(mapOf("reactionId" to reaction.id)) { + fun getReactionId(): ReactionId = toMap()["reactionId"] as ReactionId +} + +enum class ReactionEvent(val eventName: String) { + CREATE("ReactionCreate"), + DELETE("ReactionDelete"), +} \ No newline at end of file diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt index 3b282c34..8fd41710 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt @@ -18,7 +18,7 @@ package dev.usbharu.hideout.core.domain.model.actor import dev.usbharu.hideout.core.domain.event.actor.ActorDomainEventFactory import dev.usbharu.hideout.core.domain.event.actor.ActorEvent.* -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.instance.InstanceId import dev.usbharu.hideout.core.domain.model.media.MediaId import dev.usbharu.hideout.core.domain.model.support.domain.Domain @@ -52,7 +52,7 @@ class Actor( var lastUpdateAt: Instant = createdAt, alsoKnownAs: Set = emptySet(), moveTo: ActorId? = null, - emojiIds: Set, + emojiIds: Set, deleted: Boolean, icon: MediaId?, banner: MediaId?, diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmoji.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmoji.kt index e0e29b17..ed82d05b 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmoji.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmoji.kt @@ -36,7 +36,7 @@ sealed class Emoji { } data class CustomEmoji( - val id: EmojiId, + val id: CustomEmojiId, override val name: String, override val domain: Domain, val instanceId: InstanceId, diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/EmojiId.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmojiId.kt similarity index 93% rename from hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/EmojiId.kt rename to hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmojiId.kt index 5cf4284d..6ad2ec03 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/EmojiId.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmojiId.kt @@ -17,7 +17,7 @@ package dev.usbharu.hideout.core.domain.model.emoji @JvmInline -value class EmojiId(val emojiId: Long) { +value class CustomEmojiId(val emojiId: Long) { init { require(0 <= emojiId) } diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt index b953bd8e..db5f2732 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt @@ -20,7 +20,7 @@ import dev.usbharu.hideout.core.domain.event.post.PostDomainEventFactory import dev.usbharu.hideout.core.domain.event.post.PostEvent import dev.usbharu.hideout.core.domain.model.actor.Actor import dev.usbharu.hideout.core.domain.model.actor.ActorId -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.instance.InstanceId import dev.usbharu.hideout.core.domain.model.media.MediaId import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEventStorable @@ -138,7 +138,7 @@ class Post( return content.text } - val emojiIds: List + val emojiIds: List get() { if (hide) { return PostContent.empty.emojiIds @@ -217,7 +217,7 @@ class Post( override fun hashCode(): Int = id.hashCode() - fun reconstructWith(mediaIds: List, emojis: List, visibleActors: Set): Post { + fun reconstructWith(mediaIds: List, emojis: List, visibleActors: Set): Post { return Post( id = id, actorId = actorId, diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/PostContent.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/PostContent.kt index 2d787e75..9f6b2db7 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/PostContent.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/PostContent.kt @@ -16,9 +16,9 @@ package dev.usbharu.hideout.core.domain.model.post -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId -data class PostContent(val text: String, val content: String, val emojiIds: List) { +data class PostContent(val text: String, val content: String, val emojiIds: List) { companion object { val empty = PostContent("", "", emptyList()) diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt new file mode 100644 index 00000000..ea3eac76 --- /dev/null +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt @@ -0,0 +1,49 @@ +package dev.usbharu.hideout.core.domain.model.reaction + +import dev.usbharu.hideout.core.domain.event.reaction.ReactionEvent +import dev.usbharu.hideout.core.domain.event.reaction.ReactionEventFactory +import dev.usbharu.hideout.core.domain.model.actor.ActorId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId +import dev.usbharu.hideout.core.domain.model.emoji.UnicodeEmoji +import dev.usbharu.hideout.core.domain.model.post.PostId +import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEventStorable +import java.time.Instant + +class Reaction( + val id: ReactionId, + val postId: PostId, + val actorId: ActorId, + val customEmojiId: CustomEmojiId?, + val unicodeEmoji: UnicodeEmoji, + val createdAt: Instant +) : DomainEventStorable() { + + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as Reaction + + return id == other.id + } + + override fun hashCode(): Int { + return id.hashCode() + } + + companion object { + fun create( + id: ReactionId, + postId: PostId, + actorId: ActorId, + customEmojiId: CustomEmojiId?, + unicodeEmoji: UnicodeEmoji, + createdAt: Instant + ): Reaction { + return Reaction( + id, postId, actorId, customEmojiId, unicodeEmoji, createdAt + ).apply { addDomainEvent(ReactionEventFactory(this).createEvent(ReactionEvent.CREATE)) } + } + } +} \ No newline at end of file diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionId.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionId.kt new file mode 100644 index 00000000..af369ff0 --- /dev/null +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionId.kt @@ -0,0 +1,4 @@ +package dev.usbharu.hideout.core.domain.model.reaction + +@JvmInline +value class ReactionId(val value: Long) \ No newline at end of file diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionRepository.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionRepository.kt new file mode 100644 index 00000000..ad59e939 --- /dev/null +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/ReactionRepository.kt @@ -0,0 +1,7 @@ +package dev.usbharu.hideout.core.domain.model.reaction + +interface ReactionRepository { + suspend fun save(reaction: Reaction): Reaction + suspend fun findById(reactionId: String): Reaction? + suspend fun delete(reaction: Reaction) +} \ No newline at end of file diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timelineobject/TimelineObject.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timelineobject/TimelineObject.kt index bdce1a0d..73d3e87d 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timelineobject/TimelineObject.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timelineobject/TimelineObject.kt @@ -1,7 +1,7 @@ package dev.usbharu.hideout.core.domain.model.timelineobject import dev.usbharu.hideout.core.domain.model.actor.ActorId -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.filter.FilterResult import dev.usbharu.hideout.core.domain.model.media.MediaId import dev.usbharu.hideout.core.domain.model.post.Post @@ -28,13 +28,13 @@ class TimelineObject( visibility: Visibility, isPureRepost: Boolean, mediaIds: List, - emojiIds: List, + emojiIds: List, visibleActors: List, hasMediaInRepost: Boolean, lastUpdatedAt: Instant, var warnFilters: List, -) { + ) { var isPureRepost = isPureRepost private set var visibleActors = visibleActors diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/ActorResultRowMapper.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/ActorResultRowMapper.kt index 59cb72fc..c552c541 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/ActorResultRowMapper.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/ActorResultRowMapper.kt @@ -17,7 +17,7 @@ package dev.usbharu.hideout.core.infrastructure.exposed import dev.usbharu.hideout.core.domain.model.actor.* -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.instance.InstanceId import dev.usbharu.hideout.core.domain.model.media.MediaId import dev.usbharu.hideout.core.domain.model.support.domain.Domain @@ -57,7 +57,7 @@ class ActorResultRowMapper : ResultRowMapper { emojiIds = resultRow[Actors.emojis] .split(",") .filter { it.isNotEmpty() } - .map { EmojiId(it.toLong()) } + .map { CustomEmojiId(it.toLong()) } .toSet(), deleted = resultRow[Actors.deleted], icon = resultRow[Actors.icon]?.let { MediaId(it) }, diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostQueryMapper.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostQueryMapper.kt index 653533ed..139bd86c 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostQueryMapper.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostQueryMapper.kt @@ -17,7 +17,7 @@ package dev.usbharu.hideout.core.infrastructure.exposed import dev.usbharu.hideout.core.domain.model.actor.ActorId -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.media.MediaId import dev.usbharu.hideout.core.domain.model.post.Post import dev.usbharu.hideout.core.infrastructure.exposedrepository.Posts @@ -55,7 +55,7 @@ class PostQueryMapper(private val postResultRowMapper: ResultRowMapper) : .mapNotNull { resultRow: ResultRow -> resultRow .getOrNull(PostsEmojis.emojiId) - ?.let { emojiId -> EmojiId(emojiId) } + ?.let { emojiId -> CustomEmojiId(emojiId) } }, visibleActors = it.mapNotNull { resultRow: ResultRow -> resultRow diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/CustomEmojiRepositoryImpl.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/CustomEmojiRepositoryImpl.kt index c095ae55..e3ca9079 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/CustomEmojiRepositoryImpl.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/CustomEmojiRepositoryImpl.kt @@ -17,8 +17,8 @@ package dev.usbharu.hideout.core.infrastructure.exposedrepository import dev.usbharu.hideout.core.domain.model.emoji.CustomEmoji +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiRepository -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId import dev.usbharu.hideout.core.domain.model.instance.InstanceId import dev.usbharu.hideout.core.domain.model.support.domain.Domain import org.jetbrains.exposed.sql.* @@ -81,7 +81,7 @@ class CustomEmojiRepositoryImpl : CustomEmojiRepository, } fun ResultRow.toCustomEmoji(): CustomEmoji = CustomEmoji( - id = EmojiId(this[CustomEmojis.id]), + id = CustomEmojiId(this[CustomEmojis.id]), name = this[CustomEmojis.name], domain = Domain(this[CustomEmojis.domain]), instanceId = InstanceId(this[CustomEmojis.instanceId]), @@ -92,7 +92,7 @@ fun ResultRow.toCustomEmoji(): CustomEmoji = CustomEmoji( fun ResultRow.toCustomEmojiOrNull(): CustomEmoji? { return CustomEmoji( - id = EmojiId(this.getOrNull(CustomEmojis.id) ?: return null), + id = CustomEmojiId(this.getOrNull(CustomEmojis.id) ?: return null), name = this.getOrNull(CustomEmojis.name) ?: return null, domain = Domain(this.getOrNull(CustomEmojis.domain) ?: return null), instanceId = InstanceId(this.getOrNull(CustomEmojis.instanceId) ?: return null), diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/mongorepository/MongoInternalTimelineObjectRepository.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/mongorepository/MongoInternalTimelineObjectRepository.kt index 1e476d0c..c0cf2472 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/mongorepository/MongoInternalTimelineObjectRepository.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/mongorepository/MongoInternalTimelineObjectRepository.kt @@ -1,7 +1,7 @@ package dev.usbharu.hideout.core.infrastructure.mongorepository import dev.usbharu.hideout.core.domain.model.actor.ActorId -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.filter.FilterId import dev.usbharu.hideout.core.domain.model.media.MediaId import dev.usbharu.hideout.core.domain.model.post.PostId @@ -151,7 +151,7 @@ data class SpringDataMongoTimelineObject( visibility = visibility, isPureRepost = isPureRepost, mediaIds = mediaIds.map { MediaId(it) }, - emojiIds = emojiIds.map { EmojiId(it) }, + emojiIds = emojiIds.map { CustomEmojiId(it) }, visibleActors = visibleActors.map { ActorId(it) }, hasMediaInRepost = hasMediaInRepost, lastUpdatedAt = Instant.ofEpochSecond(lastUpdatedAt), diff --git a/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/actor/TestActorFactory.kt b/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/actor/TestActorFactory.kt index 3286ed74..4f81a194 100644 --- a/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/actor/TestActorFactory.kt +++ b/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/actor/TestActorFactory.kt @@ -1,6 +1,6 @@ package dev.usbharu.hideout.core.domain.model.actor -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.instance.InstanceId import dev.usbharu.hideout.core.domain.model.support.domain.Domain import dev.usbharu.hideout.core.infrastructure.other.TwitterSnowflakeIdGenerateService @@ -35,7 +35,7 @@ object TestActorFactory { suspend: Boolean = false, alsoKnownAs: Set = emptySet(), moveTo: Long? = null, - emojiIds: Set = emptySet(), + emojiIds: Set = emptySet(), deleted: Boolean = false, roles: Set = emptySet(), ): Actor { diff --git a/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/EmojiIdTest.kt b/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmojiIdTest.kt similarity index 82% rename from hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/EmojiIdTest.kt rename to hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmojiIdTest.kt index c304294b..e9383cdb 100644 --- a/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/EmojiIdTest.kt +++ b/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/emoji/CustomEmojiIdTest.kt @@ -3,18 +3,18 @@ package dev.usbharu.hideout.core.domain.model.emoji import org.junit.jupiter.api.Assertions.assertDoesNotThrow import org.junit.jupiter.api.Test -class EmojiIdTest { +class CustomEmojiIdTest { @Test fun emojiIdは0以上である必要がある() { org.junit.jupiter.api.assertThrows { - EmojiId(-1) + CustomEmojiId(-1) } } @Test fun emojiIdは0以上なら設定できる() { assertDoesNotThrow { - EmojiId(1) + CustomEmojiId(1) } } } \ No newline at end of file diff --git a/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/post/PostTest.kt b/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/post/PostTest.kt index ae8cc674..a07a0b0d 100644 --- a/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/post/PostTest.kt +++ b/hideout-core/src/test/kotlin/dev/usbharu/hideout/core/domain/model/post/PostTest.kt @@ -4,7 +4,7 @@ import dev.usbharu.hideout.core.domain.event.post.PostEvent import dev.usbharu.hideout.core.domain.model.actor.ActorId import dev.usbharu.hideout.core.domain.model.actor.ActorPublicKey import dev.usbharu.hideout.core.domain.model.actor.TestActorFactory -import dev.usbharu.hideout.core.domain.model.emoji.EmojiId +import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiId import dev.usbharu.hideout.core.domain.model.media.MediaId import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test @@ -447,7 +447,7 @@ class PostTest { @Test fun `emojiIds hideがtrueの時empty`() { val actor = TestActorFactory.create() - val emojiIds = listOf(EmojiId(1), EmojiId(2)) + val emojiIds = listOf(CustomEmojiId(1), CustomEmojiId(2)) val post = Post.create( id = PostId(1), actorId = actor.id, @@ -473,7 +473,7 @@ class PostTest { @Test fun `emojiIds hideがfalseの時中身が返される`() { val actor = TestActorFactory.create() - val emojiIds = listOf(EmojiId(1), EmojiId(2)) + val emojiIds = listOf(CustomEmojiId(1), CustomEmojiId(2)) val post = Post.create( id = PostId(1), actorId = actor.id, @@ -500,7 +500,7 @@ class PostTest { val post = TestPostFactory.create() val mediaIds = listOf(MediaId(1)) val visibleActors = setOf((ActorId(2))) - val emojis = listOf(EmojiId(3)) + val emojis = listOf(CustomEmojiId(3)) val reconstructWith = post.reconstructWith(mediaIds, emojis, visibleActors) assertEquals(mediaIds, reconstructWith.mediaIds) @@ -511,7 +511,7 @@ class PostTest { @Test fun `mediaIds hideがtrueの時emptyが返される`() { val actor = TestActorFactory.create() - val emojiIds = listOf(EmojiId(1), EmojiId(2)) + val emojiIds = listOf(CustomEmojiId(1), CustomEmojiId(2)) val mediaIds = listOf(MediaId(1)) val post = Post.create( id = PostId(1), @@ -538,7 +538,7 @@ class PostTest { @Test fun `mediaIds hideがfalseの時中身が返される`() { val actor = TestActorFactory.create() - val emojiIds = listOf(EmojiId(1), EmojiId(2)) + val emojiIds = listOf(CustomEmojiId(1), CustomEmojiId(2)) val mediaIds = listOf(MediaId(2)) val post = Post.create( id = PostId(1), @@ -603,7 +603,7 @@ class PostTest { fun `restore 指定された引数で再構成されCHECKUPDATEイベントが発生する`() { val post = TestPostFactory.create(deleted = true) - val postContent = PostContent("aiueo", "aiueo", listOf(EmojiId(1))) + val postContent = PostContent("aiueo", "aiueo", listOf(CustomEmojiId(1))) val overview = PostOverview("overview") val mediaIds = listOf(MediaId(1)) post.restore( @@ -622,7 +622,7 @@ class PostTest { fun deletedがfalseの時失敗する() { val post = TestPostFactory.create(deleted = false) - val postContent = PostContent("aiueo", "aiueo", listOf(EmojiId(1))) + val postContent = PostContent("aiueo", "aiueo", listOf(CustomEmojiId(1))) val overview = PostOverview("overview") val mediaIds = listOf(MediaId(1)) assertThrows {