1 package net.pterodactylus.sone.web
3 import net.pterodactylus.sone.data.Sone
4 import net.pterodactylus.sone.test.mock
6 import org.mockito.ArgumentMatchers.any
7 import org.mockito.Mockito.never
8 import org.mockito.Mockito.verify
11 * Unit test for [LockSonePage].
13 class LockSonePageTest : WebPageTest() {
15 private val page = LockSonePage(template, webInterface)
17 override fun getPage() = page
20 fun `locking an invalid local sone redirects to return page`() {
21 addHttpRequestParameter("returnPage", "return.html")
22 verifyRedirect("return.html") {
23 verify(core, never()).lockSone(any<Sone>())
28 fun `locking an valid local sone locks the sone and redirects to return page`() {
29 addHttpRequestParameter("sone", "sone-id")
30 val sone = mock<Sone>()
31 addLocalSone("sone-id", sone)
32 addHttpRequestParameter("returnPage", "return.html")
33 verifyRedirect("return.html") {
34 verify(core).lockSone(sone)