X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeleteReplyAjaxPageTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeleteReplyAjaxPageTest.kt;h=873d8974395cf6b8238757c37e02daa28531b745;hb=2e605a25761505242149296e70d77e5ea8b13968;hp=0000000000000000000000000000000000000000;hpb=551c2cc1787db9fbffca982c2c38e706defdc961;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPageTest.kt new file mode 100644 index 0000000..873d897 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPageTest.kt @@ -0,0 +1,46 @@ +package net.pterodactylus.sone.web.ajax + +import net.pterodactylus.sone.data.PostReply +import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.test.mock +import net.pterodactylus.sone.test.whenever +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.equalTo +import org.junit.Test +import org.mockito.Mockito.verify + +/** + * Unit test for [DeleteReplyAjaxPage]. + */ +class DeleteReplyAjaxPageTest : JsonPageTest("deleteReply.ajax", pageSupplier = ::DeleteReplyAjaxPage) { + + @Test + fun `request with missing reply results in invalid id`() { + assertThat(json.isSuccess, equalTo(false)) + assertThat(json.error, equalTo("invalid-reply-id")) + } + + @Test + fun `request with non-local reply id results in not authorized`() { + val reply = mock() + val sone = mock() + whenever(reply.sone).thenReturn(sone) + addReply("reply-id", reply) + addRequestParameter("reply", "reply-id") + assertThat(json.isSuccess, equalTo(false)) + assertThat(json.error, equalTo("not-authorized")) + } + + @Test + fun `request with local reply id deletes reply`() { + val reply = mock() + val sone = mock() + whenever(sone.isLocal).thenReturn(true) + whenever(reply.sone).thenReturn(sone) + addReply("reply-id", reply) + addRequestParameter("reply", "reply-id") + assertThat(json.isSuccess, equalTo(true)) + verify(core).deleteReply(reply) + } + +}