Remove obsolete loading animation
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / DeleteReplyPageTest.kt
index c2649d8..b7b92ae 100644 (file)
@@ -1,19 +1,11 @@
 package net.pterodactylus.sone.web
 
-import net.pterodactylus.sone.web.WebTestUtils.redirectsTo
-import net.pterodactylus.util.web.Method.POST
-import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.ArgumentMatchers.eq
-import org.mockito.Mockito.`when`
-
 import net.pterodactylus.sone.data.PostReply
-
-import com.google.common.base.Optional
 import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.test.mock
 import net.pterodactylus.sone.test.whenever
 import net.pterodactylus.util.web.Method.GET
-import org.hamcrest.MatcherAssert
+import net.pterodactylus.util.web.Method.POST
 import org.hamcrest.MatcherAssert.assertThat
 import org.hamcrest.Matchers.equalTo
 import org.junit.Before
@@ -31,29 +23,41 @@ class DeleteReplyPageTest : WebPageTest() {
        private val sone = mock<Sone>()
        private val reply = mock<PostReply>()
 
+       override fun getPage() = page
+
        @Before
        fun setupReply() {
                whenever(sone.isLocal).thenReturn(true)
                whenever(reply.sone).thenReturn(sone)
        }
-       
+
+       @Test
+       fun `page returns correct path`() {
+           assertThat(page.path, equalTo("deleteReply.html"))
+       }
+
+       @Test
+       fun `page requires login`() {
+           assertThat(page.requiresLogin(), equalTo(true))
+       }
+
        @Test
        fun `get request sets reply ID and return page in template context`() {
-           request("", GET)
+               request("", GET)
                addHttpRequestParameter("reply", "reply-id")
                addHttpRequestParameter("returnPage", "return.html")
-               page.handleRequest(freenetRequest, templateContext)
+               page.processTemplate(freenetRequest, templateContext)
                assertThat(templateContext["reply"], equalTo<Any>("reply-id"))
                assertThat(templateContext["returnPage"], equalTo<Any>("return.html"))
        }
 
        @Test
        fun `post request without any action sets reply ID and return page in template context`() {
-           request("", POST)
+               request("", POST)
                addPostReply("reply-id", reply)
                addHttpRequestParameter("reply", "reply-id")
                addHttpRequestParameter("returnPage", "return.html")
-               page.handleRequest(freenetRequest, templateContext)
+               page.processTemplate(freenetRequest, templateContext)
                assertThat(templateContext["reply"], equalTo<Any>("reply-id"))
                assertThat(templateContext["returnPage"], equalTo<Any>("return.html"))
        }
@@ -61,46 +65,38 @@ class DeleteReplyPageTest : WebPageTest() {
        @Test
        fun `trying to delete a reply with an invalid ID results in no permission page`() {
                request("", POST)
-               expectedException.expect(redirectsTo("noPermission.html"))
-               page.processTemplate(freenetRequest, templateContext)
+               verifyRedirect("noPermission.html")
        }
 
        @Test
        fun `trying to delete a reply from a non-local sone results in no permission page`() {
-           request("", POST)
+               request("", POST)
                addHttpRequestParameter("reply", "reply-id")
                whenever(sone.isLocal).thenReturn(false)
                addPostReply("reply-id", reply)
-               expectedException.expect(redirectsTo("noPermission.html"))
-               page.processTemplate(freenetRequest, templateContext)
+               verifyRedirect("noPermission.html")
        }
 
        @Test
        fun `confirming deletion of reply deletes the reply and redirects to return page`() {
-           request("", POST)
+               request("", POST)
                addPostReply("reply-id", reply)
                addHttpRequestParameter("reply", "reply-id")
                addHttpRequestParameter("returnPage", "return.html")
                addHttpRequestParameter("confirmDelete", "true")
-               expectedException.expect(redirectsTo("return.html"))
-               try {
-                       page.processTemplate(freenetRequest, templateContext)
-               } finally {
+               verifyRedirect("return.html") {
                        verify(core).deleteReply(reply)
                }
        }
-       
+
        @Test
        fun `aborting deletion of reply redirects to return page`() {
-           request("", POST)
+               request("", POST)
                addPostReply("reply-id", reply)
                addHttpRequestParameter("reply", "reply-id")
                addHttpRequestParameter("returnPage", "return.html")
                addHttpRequestParameter("abortDelete", "true")
-               expectedException.expect(redirectsTo("return.html"))
-               try {
-                       page.processTemplate(freenetRequest, templateContext)
-               } finally {
+               verifyRedirect("return.html") {
                        verify(core, never()).deleteReply(reply)
                }
        }