Remove obsolete loading animation
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / LikePageTest.kt
1 package net.pterodactylus.sone.web
2
3 import net.pterodactylus.util.web.Method.GET
4 import net.pterodactylus.util.web.Method.POST
5 import org.junit.Test
6 import org.mockito.Mockito.verify
7 import org.mockito.Mockito.verifyNoMoreInteractions
8
9 /**
10  * Unit test for [LikePage].
11  */
12 class LikePageTest : WebPageTest() {
13
14         private val page = LikePage(template, webInterface)
15
16         override fun getPage() = page
17
18         @Test
19         fun `get request does not redirect`() {
20                 request("", GET)
21                 page.handleRequest(freenetRequest, templateContext)
22         }
23
24         @Test
25         fun `post request with post id likes post and redirects to return page`() {
26                 request("", POST)
27                 addHttpRequestParameter("type", "post")
28                 addHttpRequestParameter("post", "post-id")
29                 addHttpRequestParameter("returnPage", "return.html")
30                 verifyRedirect("return.html") {
31                         verify(currentSone).addLikedPostId("post-id")
32                 }
33         }
34
35         @Test
36         fun `post request with reply id likes post and redirects to return page`() {
37                 request("", POST)
38                 addHttpRequestParameter("type", "reply")
39                 addHttpRequestParameter("reply", "reply-id")
40                 addHttpRequestParameter("returnPage", "return.html")
41                 verifyRedirect("return.html") {
42                         verify(currentSone).addLikedReplyId("reply-id")
43                 }
44         }
45
46         @Test
47         fun `post request with invalid likes redirects to return page`() {
48                 request("", POST)
49                 addHttpRequestParameter("type", "foo")
50                 addHttpRequestParameter("returnPage", "return.html")
51                 verifyRedirect("return.html") {
52                         verifyNoMoreInteractions(currentSone)
53                 }
54         }
55
56 }