1 package net.pterodactylus.sone.web.ajax
3 import org.hamcrest.MatcherAssert.assertThat
4 import org.hamcrest.Matchers.equalTo
6 import org.mockito.Mockito.verify
9 * Unit test for [UnlikeAjaxPage].
11 class UnlikeAjaxPageTest : JsonPageTest("unlike.ajax", pageSupplier = ::UnlikeAjaxPage) {
14 fun `request without type results in error`() {
15 assertThat(json.isSuccess, equalTo(false))
19 fun `request for post without id results in invalid-post-id`() {
20 addRequestParameter("type", "post")
21 assertThat(json.isSuccess, equalTo(false))
22 assertThat(json.error, equalTo("invalid-post-id"))
26 fun `request for invalid type results in invalid-type`() {
27 addRequestParameter("type", "invalid")
28 addRequestParameter("invalid", "invalid")
29 assertThat(json.isSuccess, equalTo(false))
30 assertThat(json.error, equalTo("invalid-type"))
34 fun `request for post with id removes id from liked posts`() {
35 addRequestParameter("type", "post")
36 addRequestParameter("post", "post-id")
37 assertThat(json.isSuccess, equalTo(true))
38 verify(currentSone).removeLikedPostId("post-id")
39 verify(core).touchConfiguration()
43 fun `request for reply without id results in invalid-reply-id`() {
44 addRequestParameter("type", "reply")
45 assertThat(json.isSuccess, equalTo(false))
46 assertThat(json.error, equalTo("invalid-reply-id"))
50 fun `request for reply with id removes id from liked replys`() {
51 addRequestParameter("type", "reply")
52 addRequestParameter("reply", "reply-id")
53 assertThat(json.isSuccess, equalTo(true))
54 verify(currentSone).removeLikedReplyId("reply-id")
55 verify(core).touchConfiguration()