Use utility function to check embed contents
This commit is contained in:
parent
79f84ff4dd
commit
731867f59e
|
@ -103,7 +103,11 @@ object TestUtil {
|
|||
Globals.config.localization = oldLoc
|
||||
}
|
||||
|
||||
fun assertEmbedContents(expected: List<String>, unexpected: List<String>, op: (MutableList<EmbedBuilder>) -> Unit) {
|
||||
fun withReplyContents(
|
||||
expected: List<String> = emptyList(),
|
||||
unexpected: List<String> = emptyList(),
|
||||
op: (MutableList<EmbedBuilder>) -> Unit
|
||||
) {
|
||||
val replies = mutableListOf<EmbedBuilder>()
|
||||
op(replies)
|
||||
replies.size shouldBe 1
|
||||
|
|
|
@ -5,7 +5,6 @@ import io.kotlintest.shouldBe
|
|||
import io.kotlintest.specs.StringSpec
|
||||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import io.mockk.verify
|
||||
import moe.kageru.kagebot.Globals
|
||||
import moe.kageru.kagebot.Globals.config
|
||||
import moe.kageru.kagebot.Kagebot
|
||||
|
@ -44,10 +43,9 @@ class CommandTest : StringSpec({
|
|||
embed = { "$heading" = "$content" }
|
||||
""".trimIndent()
|
||||
) {
|
||||
Kagebot.processMessage(mockMessage("!embed", replyEmbeds = calls))
|
||||
calls.size shouldBe 1
|
||||
embedToString(calls[0]) shouldContain "\"$heading\""
|
||||
embedToString(calls[0]) shouldContain "\"$content\""
|
||||
TestUtil.withReplyContents(expected = listOf(heading, content)) {
|
||||
Kagebot.processMessage(mockMessage("!embed", replyEmbeds = it))
|
||||
}
|
||||
}
|
||||
}
|
||||
"should match contains command" {
|
||||
|
@ -107,15 +105,13 @@ class CommandTest : StringSpec({
|
|||
delete = true
|
||||
""".trimIndent()
|
||||
) {
|
||||
val replies = mutableListOf<EmbedBuilder>()
|
||||
val messageContent = "delet this"
|
||||
val mockMessage = mockMessage(messageContent)
|
||||
every { mockMessage.deleteMessage() } returns mockk()
|
||||
every { mockMessage.messageAuthor.asUser() } returns Optional.of(messageableAuthor(replies))
|
||||
Kagebot.processMessage(mockMessage)
|
||||
verify(exactly = 1) { mockMessage.deleteMessage() }
|
||||
replies.size shouldBe 1
|
||||
embedToString(replies[0]) shouldContain messageContent
|
||||
TestUtil.withReplyContents(expected = listOf(messageContent)) {
|
||||
val mockMessage = mockMessage(messageContent)
|
||||
every { mockMessage.deleteMessage() } returns mockk()
|
||||
every { mockMessage.messageAuthor.asUser() } returns Optional.of(messageableAuthor(it))
|
||||
Kagebot.processMessage(mockMessage)
|
||||
}
|
||||
}
|
||||
}
|
||||
"should refuse command without permissions" {
|
||||
|
@ -253,7 +249,7 @@ class CommandTest : StringSpec({
|
|||
""".trimIndent()
|
||||
) {
|
||||
val message = "this is a message"
|
||||
Kagebot.processMessage(mockMessage("!redirect $message", replyEmbeds = calls))
|
||||
Kagebot.processMessage(mockMessage("!redirect $message"))
|
||||
calls.size shouldBe 1
|
||||
embedToString(calls[0]) shouldContain "\"$message\""
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import io.mockk.every
|
|||
import io.mockk.mockk
|
||||
import moe.kageru.kagebot.Globals
|
||||
import moe.kageru.kagebot.TestUtil
|
||||
import moe.kageru.kagebot.TestUtil.assertEmbedContents
|
||||
import moe.kageru.kagebot.TestUtil.withReplyContents
|
||||
import moe.kageru.kagebot.TestUtil.mockMessage
|
||||
import moe.kageru.kagebot.TestUtil.withCommands
|
||||
import moe.kageru.kagebot.config.RawHelpFeature
|
||||
|
@ -32,7 +32,7 @@ class HelpFeatureTest : StringSpec({
|
|||
withCommands(commandConfig) {
|
||||
val expected = listOf("!ping", "!something")
|
||||
val unexpected = listOf("not a prefix", "!prison")
|
||||
assertEmbedContents(expected = expected, unexpected = unexpected) { replies ->
|
||||
withReplyContents(expected = expected, unexpected = unexpected) { replies ->
|
||||
HelpFeature(RawHelpFeature(true))
|
||||
.handle(message = mockMessage("!help", replyEmbeds = replies))
|
||||
//Kagebot.processMessage(TestUtil.mockMessage("!help", replyEmbeds = replies))
|
||||
|
@ -43,7 +43,7 @@ class HelpFeatureTest : StringSpec({
|
|||
withCommands(commandConfig) {
|
||||
val expected = listOf("!ping", "!something", "!prison")
|
||||
val unexpected = listOf("not a prefix")
|
||||
assertEmbedContents(expected = expected, unexpected = unexpected) { replies ->
|
||||
withReplyContents(expected = expected, unexpected = unexpected) { replies ->
|
||||
val message = mockMessage("!help", replyEmbeds = replies)
|
||||
every { message.messageAuthor.asUser() } returns Optional.of(mockk {
|
||||
every { getRoles(any()) } returns listOf(
|
||||
|
|
Loading…
Reference in New Issue
Block a user