Skip to content

Commit

Permalink
refactor: テストケースを追加
Browse files Browse the repository at this point in the history
  • Loading branch information
pantasystem committed Dec 25, 2023
1 parent e9835f8 commit 9a98f47
Showing 1 changed file with 178 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package net.pantasystem.milktea.model.note.reaction

import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.runTest
import net.pantasystem.milktea.model.account.Account
import net.pantasystem.milktea.model.account.GetAccount
import net.pantasystem.milktea.model.emoji.CustomEmoji
Expand All @@ -13,6 +14,7 @@ import net.pantasystem.milktea.model.note.NoteRepository
import net.pantasystem.milktea.model.note.generateEmptyNote
import net.pantasystem.milktea.model.note.reaction.history.ReactionHistory
import net.pantasystem.milktea.model.note.reaction.history.ReactionHistoryRepository
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
Expand Down Expand Up @@ -52,7 +54,7 @@ class ToggleReactionUseCaseTest {
val meta = Meta(
uri = "misskey.io",

)
)
val reactionHistoryDao = mock<ReactionHistoryRepository>()
val account = Account(
"testId",
Expand Down Expand Up @@ -95,7 +97,15 @@ class ToggleReactionUseCaseTest {
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(InstanceInfoType.Misskey(nodeInfo = NodeInfo("", "", NodeInfo.Software("", "")),meta))
} doReturn Result.success(
InstanceInfoType.Misskey(
nodeInfo = NodeInfo(
"",
"",
NodeInfo.Software("", "")
), meta
)
)
},
userRepository = mock() {
onBlocking {
Expand Down Expand Up @@ -142,7 +152,7 @@ class ToggleReactionUseCaseTest {
val meta = Meta(
uri = "https://misskey.io",

)
)
val reactionHistoryDao = mock<ReactionHistoryRepository>()
val account = Account(
"testId",
Expand Down Expand Up @@ -179,7 +189,15 @@ class ToggleReactionUseCaseTest {
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(InstanceInfoType.Misskey(NodeInfo("", "", NodeInfo.Software("", "")), meta))
} doReturn Result.success(
InstanceInfoType.Misskey(
NodeInfo(
"",
"",
NodeInfo.Software("", "")
), meta
)
)
},
userRepository = mock() {
onBlocking {
Expand Down Expand Up @@ -270,7 +288,15 @@ class ToggleReactionUseCaseTest {
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(InstanceInfoType.Misskey(NodeInfo("", "", NodeInfo.Software("", "")), meta))
} doReturn Result.success(
InstanceInfoType.Misskey(
NodeInfo(
"",
"",
NodeInfo.Software("", "")
), meta
)
)
},
userRepository = mock() {
onBlocking {
Expand Down Expand Up @@ -349,7 +375,15 @@ class ToggleReactionUseCaseTest {
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(InstanceInfoType.Misskey(NodeInfo("", "", NodeInfo.Software("", "")), meta))
} doReturn Result.success(
InstanceInfoType.Misskey(
NodeInfo(
"",
"",
NodeInfo.Software("", "")
), meta
)
)
},
customEmojiRepository = mock() {
onBlocking {
Expand Down Expand Up @@ -435,7 +469,15 @@ class ToggleReactionUseCaseTest {
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(InstanceInfoType.Misskey(NodeInfo("", "", NodeInfo.Software("", "")), meta))
} doReturn Result.success(
InstanceInfoType.Misskey(
NodeInfo(
"",
"",
NodeInfo.Software("", "")
), meta
)
)
},
customEmojiRepository = mock() {
onBlocking {
Expand Down Expand Up @@ -524,7 +566,15 @@ class ToggleReactionUseCaseTest {
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(InstanceInfoType.Misskey(NodeInfo("", "", NodeInfo.Software("", "")), meta))
} doReturn Result.success(
InstanceInfoType.Misskey(
NodeInfo(
"",
"",
NodeInfo.Software("", "")
), meta
)
)
},
userRepository = mock() {
onBlocking {
Expand Down Expand Up @@ -782,4 +832,124 @@ class ToggleReactionUseCaseTest {
)
}
}

@Test
fun getSendReaction_whenMastodonAndCanMultipleReaction() = runTest {

val instanceType = InstanceInfoType.Mastodon(
NodeInfo("", "", NodeInfo.Software("mastodon", "")),
MastodonInstanceInfo(
uri = "",
title = "",
description = "",
email = "",
version = "",
urls = MastodonInstanceInfo.Urls(streamingApi = null),
configuration = MastodonInstanceInfo.Configuration(
emojiReactions = MastodonInstanceInfo.Configuration.EmojiReactions(
maxReactions = 1000,
maxReactionsPerAccount = 2
),
polls = null,
statuses = null,
),
fedibirdCapabilities = listOf("emoji_reaction"),
pleroma = null,
)
)
val useCase = ToggleReactionUseCase(
getAccount = mock(),
noteRepository = mock(),
reactionHistoryRepository = mock(),
checkEmoji = object : CheckEmoji {
override suspend fun checkEmoji(char: CharSequence): Boolean {
return false
}
},
reactionRepository = mock(),
customEmojiRepository = mock(),
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(
instanceType
)
},
userRepository = mock()
)
val sendReaction = useCase.getSendReaction(
instanceType,
Account(
"testId",
"https://fedibird.com",
instanceType = Account.InstanceType.MASTODON,
token = "test",
userName = "test",
accountId = 0L,
pages = emptyList(),
),
":kawaii:"
)
Assertions.assertEquals("kawaii", sendReaction)
}

@Test
fun getSendReaction_whenMastodonAndCanNotMultipleReaction() = runTest {

val instanceType = InstanceInfoType.Mastodon(
NodeInfo("", "", NodeInfo.Software("mastodon", "")),
MastodonInstanceInfo(
uri = "",
title = "",
description = "",
email = "",
version = "",
urls = MastodonInstanceInfo.Urls(streamingApi = null),
configuration = MastodonInstanceInfo.Configuration(
emojiReactions = MastodonInstanceInfo.Configuration.EmojiReactions(
maxReactions = 1000,
maxReactionsPerAccount = 0
),
polls = null,
statuses = null,
),
fedibirdCapabilities = listOf("emoji_reaction"),
pleroma = null,
)
)
val useCase = ToggleReactionUseCase(
getAccount = mock(),
noteRepository = mock(),
reactionHistoryRepository = mock(),
checkEmoji = object : CheckEmoji {
override suspend fun checkEmoji(char: CharSequence): Boolean {
return false
}
},
reactionRepository = mock(),
customEmojiRepository = mock(),
instanceInfoService = mock() {
onBlocking {
find(any())
} doReturn Result.success(
instanceType
)
},
userRepository = mock()
)
val sendReaction = useCase.getSendReaction(
instanceType,
Account(
"testId",
"https://fedibird.com",
instanceType = Account.InstanceType.MASTODON,
token = "test",
userName = "test",
accountId = 0L,
pages = emptyList(),
),
":kawaii:"
)
Assertions.assertNull(sendReaction)
}
}

0 comments on commit 9a98f47

Please sign in to comment.