✅ Add first test for download command
[xudocci.git] / src / test / java / net / pterodactylus / xdcc / ui / stdin / DownloadCommandTest.kt
diff --git a/src/test/java/net/pterodactylus/xdcc/ui/stdin/DownloadCommandTest.kt b/src/test/java/net/pterodactylus/xdcc/ui/stdin/DownloadCommandTest.kt
new file mode 100644 (file)
index 0000000..2d3aa0a
--- /dev/null
@@ -0,0 +1,31 @@
+package net.pterodactylus.xdcc.ui.stdin
+
+import net.pterodactylus.xdcc.core.Core
+import org.hamcrest.MatcherAssert.assertThat
+import org.hamcrest.Matchers.equalTo
+import org.mockito.Matchers.any
+import org.mockito.Mockito
+import org.mockito.Mockito.never
+import org.mockito.Mockito.verify
+import java.io.StringWriter
+import kotlin.test.Test
+
+class DownloadCommandTest {
+
+       private val core = Mockito.mock(Core::class.java)
+       private val command = DownloadCommand(core)
+       private val state = State()
+
+       @Test
+       fun `executing command without parameters will not fetch anything`() {
+               command.execute(state, emptyList(), StringWriter())
+               verify(core, never()).fetch(any(), any())
+       }
+
+       @Test
+       fun `executing command without parameters will return old state`() {
+               val newState = command.execute(state, emptyList(), StringWriter())
+               assertThat(newState, equalTo(state))
+       }
+
+}