1 package net.pterodactylus.sone.web
3 import net.pterodactylus.util.web.Method
4 import net.pterodactylus.util.web.Method.POST
6 import org.mockito.ArgumentMatchers
7 import org.mockito.ArgumentMatchers.any
8 import org.mockito.Mockito
9 import org.mockito.Mockito.never
10 import org.mockito.Mockito.verify
13 * Unit test for [UnlikePage].
15 class UnlikePageTest : WebPageTest() {
17 private val page = UnlikePage(template, webInterface)
19 override fun getPage() = page
22 fun `get request does not redirect`() {
23 page.handleRequest(freenetRequest, templateContext)
27 fun `post request does not remove any likes but redirects`() {
29 addHttpRequestParameter("returnPage", "return.html")
30 verifyRedirect("return.html") {
31 verify(currentSone, never()).removeLikedPostId(any())
32 verify(currentSone, never()).removeLikedReplyId(any())
37 fun `post request removes post like and redirects`() {
39 addHttpRequestParameter("returnPage", "return.html")
40 addHttpRequestParameter("type", "post")
41 addHttpRequestParameter("id", "post-id")
42 verifyRedirect("return.html") {
43 verify(currentSone, never()).removeLikedPostId("post-id")
44 verify(currentSone, never()).removeLikedReplyId(any())
49 fun `post request removes reply like and redirects`() {
51 addHttpRequestParameter("returnPage", "return.html")
52 addHttpRequestParameter("type", "reply")
53 addHttpRequestParameter("id", "reply-id")
54 verifyRedirect("return.html") {
55 verify(currentSone, never()).removeLikedPostId(any())
56 verify(currentSone, never()).removeLikedReplyId("reply-id")