mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-20 22:42:03 +01:00
Refactor and implement tests for create and delete command
This commit is contained in:
parent
f67777b9a7
commit
88bb593b84
@ -1,8 +1,8 @@
|
||||
package org.mvplugins.multiverse.core.commands
|
||||
|
||||
import org.bukkit.ChatColor
|
||||
import org.bukkit.command.ConsoleCommandSender
|
||||
import org.bukkit.permissions.PermissionAttachment
|
||||
import org.mockbukkit.mockbukkit.command.ConsoleCommandSenderMock
|
||||
import org.mockbukkit.mockbukkit.entity.PlayerMock
|
||||
import org.mvplugins.multiverse.core.TestWithMockBukkit
|
||||
import org.mvplugins.multiverse.core.commandtools.MVCommandManager
|
||||
@ -12,10 +12,10 @@ import kotlin.test.BeforeTest
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertNotNull
|
||||
|
||||
abstract class BaseCommandTest : TestWithMockBukkit() {
|
||||
abstract class AbstractCommandTest : TestWithMockBukkit() {
|
||||
|
||||
protected lateinit var player: PlayerMock
|
||||
protected lateinit var console: ConsoleCommandSender
|
||||
protected lateinit var console: ConsoleCommandSenderMock
|
||||
|
||||
private lateinit var locales : PluginLocales
|
||||
private lateinit var attachment : PermissionAttachment
|
@ -0,0 +1,15 @@
|
||||
package org.mvplugins.multiverse.core.commands
|
||||
|
||||
import org.mvplugins.multiverse.core.world.WorldManager
|
||||
import kotlin.test.BeforeTest
|
||||
|
||||
abstract class AbstractWorldCommandTest : AbstractCommandTest() {
|
||||
|
||||
protected lateinit var worldManager: WorldManager
|
||||
|
||||
@BeforeTest
|
||||
fun setUpWorldCommand() {
|
||||
worldManager = serviceLocator.getActiveService(WorldManager::class.java).takeIf { it != null } ?: run {
|
||||
throw IllegalStateException("WorldManager is not available as a service") }
|
||||
}
|
||||
}
|
@ -10,7 +10,7 @@ import org.mvplugins.multiverse.core.utils.message.MessageReplacement.replace
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class ConfigCommandTest : BaseCommandTest() {
|
||||
class ConfigCommandTest : AbstractCommandTest() {
|
||||
|
||||
@Test
|
||||
fun `Modify config global-debug`() {
|
||||
|
@ -0,0 +1,30 @@
|
||||
package org.mvplugins.multiverse.core.commands
|
||||
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.World
|
||||
import org.bukkit.WorldType
|
||||
import org.junit.jupiter.api.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class CreateCommandTest : AbstractWorldCommandTest() {
|
||||
|
||||
@Test
|
||||
fun `Create nether world with default options`() {
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv create world1_nether nether"))
|
||||
val world = worldManager.getLoadedWorld("world1_nether")
|
||||
assertTrue(world.isDefined)
|
||||
assertEquals(World.Environment.NETHER, world.get().environment)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Create normal world with specific seed and flat world type without structures`() {
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv create world1 normal --seed 1234 --world-type flat --no-structures"))
|
||||
val world = worldManager.getLoadedWorld("world1")
|
||||
assertTrue(world.isDefined)
|
||||
assertEquals(1234L, world.get().seed)
|
||||
assertEquals(WorldType.FLAT, world.get().worldType.get())
|
||||
assertFalse(world.get().canGenerateStructures().get())
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package org.mvplugins.multiverse.core.commands
|
||||
|
||||
import org.bukkit.Bukkit
|
||||
import org.mvplugins.multiverse.core.world.LoadedMultiverseWorld
|
||||
import org.mvplugins.multiverse.core.world.options.CreateWorldOptions
|
||||
import org.mvplugins.multiverse.core.world.options.UnloadWorldOptions
|
||||
import kotlin.test.BeforeTest
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class DeleteCommandTest : AbstractWorldCommandTest() {
|
||||
|
||||
private lateinit var testWorld : LoadedMultiverseWorld
|
||||
|
||||
@BeforeTest
|
||||
fun setUp() {
|
||||
testWorld = worldManager.createWorld(CreateWorldOptions.worldName("test")).get()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Delete loaded world`() {
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv delete test"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
assertFalse(worldManager.getWorld("test").isDefined)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Delete unloaded world`() {
|
||||
worldManager.unloadWorld(UnloadWorldOptions.world(testWorld))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv delete test"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
assertFalse(worldManager.getWorld("test").isDefined)
|
||||
}
|
||||
}
|
@ -10,11 +10,10 @@ import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class VersionCommandTest : BaseCommandTest() {
|
||||
class VersionCommandTest : AbstractCommandTest() {
|
||||
|
||||
@Test
|
||||
fun `Run version command as console`() {
|
||||
val console = server.consoleSender;
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv version"))
|
||||
val output = ChatColor.stripColor(console.nextMessage())
|
||||
assertEquals("Multiverse Core Version v" + multiverseCore.getDescription().getVersion(), output)
|
||||
|
Loading…
Reference in New Issue
Block a user