X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FCreateReplyAjaxPageTest.kt;h=829167ef41e681a296f640be9233a81431590e9e;hp=9d9008bb7b2cc9dbc6d0f75cfccc03d82e850166;hb=43278c5468221baa16946a5206c3a4e97d543010;hpb=ec7a80c007d6d759823d6d922e6c680c04d334cd diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreateReplyAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreateReplyAjaxPageTest.kt index 9d9008b..829167e 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreateReplyAjaxPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/CreateReplyAjaxPageTest.kt @@ -12,69 +12,53 @@ import org.junit.Test /** * Unit test for [CreateReplyAjaxPage]. */ -class CreateReplyAjaxPageTest : JsonPageTest(::CreateReplyAjaxPage) { - - @Test - fun `page returns correct path`() { - assertThat(page.path, equalTo("createReply.ajax")) - } - - @Test - fun `page needs form password`() { - assertThat(page.needsFormPassword(), equalTo(true)) - } - - @Test - fun `page requires login`() { - assertThat(page.requiresLogin(), equalTo(true)) - } +class CreateReplyAjaxPageTest : JsonPageTest("createReply.ajax", pageSupplier = ::CreateReplyAjaxPage) { @Test fun `invalid post ID results in error message`() { - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("invalid-post-id")) + assertThatJsonFailed("invalid-post-id") } @Test fun `valid post ID results in created reply`() { val post = mock() - addPost("post-id", post) + addPost(post, "post-id") val reply = mock().apply { whenever(id).thenReturn("reply-id") } whenever(core.createReply(currentSone, post, "")).thenReturn(reply) addRequestParameter("post", "post-id") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["reply"].asText(), equalTo("reply-id")) - assertThat(json["sone"].asText(), equalTo("soneId")) + assertThatJsonIsSuccessful() + assertThat(json["reply"]?.asText(), equalTo("reply-id")) + assertThat(json["sone"]?.asText(), equalTo("soneId")) } @Test fun `text is filtered when creating reply`() { val post = mock() - addPost("post-id", post) + addPost(post, "post-id") val reply = mock().apply { whenever(id).thenReturn("reply-id") } whenever(core.createReply(currentSone, post, "Text with KSK@foo.bar link")).thenReturn(reply) addRequestParameter("post", "post-id") addRequestParameter("text", "Text with http://127.0.0.1:8888/KSK@foo.bar link") addRequestHeader("Host", "127.0.0.1:8888") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["reply"].asText(), equalTo("reply-id")) - assertThat(json["sone"].asText(), equalTo("soneId")) + assertThatJsonIsSuccessful() + assertThat(json["reply"]?.asText(), equalTo("reply-id")) + assertThat(json["sone"]?.asText(), equalTo("soneId")) } @Test fun `sender can be chosen from local sones`() { val sone = mock().apply { whenever(id).thenReturn("local-sone") } - addLocalSone("local-sone", sone) + addLocalSone(sone) val post = mock() - addPost("post-id", post) + addPost(post, "post-id") val reply = mock().apply { whenever(id).thenReturn("reply-id") } whenever(core.createReply(sone, post, "Text")).thenReturn(reply) addRequestParameter("post", "post-id") addRequestParameter("text", "Text") addRequestParameter("sender", "local-sone") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["reply"].asText(), equalTo("reply-id")) - assertThat(json["sone"].asText(), equalTo("local-sone")) + assertThatJsonIsSuccessful() + assertThat(json["reply"]?.asText(), equalTo("reply-id")) + assertThat(json["sone"]?.asText(), equalTo("local-sone")) } }