X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetReplyAjaxPageTest.kt;h=c59e65c915ac609f70a20cadd7a7b6b3bec46e93;hb=bf509980d5097e67d1a32f6b53bef052b396137f;hp=8fe16e2c361671f61264e0a5aea637c311fa218e;hpb=4ef415ab45a6c4c7410b0a0f9c3f393ffad53da9;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetReplyAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetReplyAjaxPageTest.kt index 8fe16e2..c59e65c 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetReplyAjaxPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetReplyAjaxPageTest.kt @@ -2,26 +2,31 @@ package net.pterodactylus.sone.web.ajax import net.pterodactylus.sone.data.PostReply import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.test.getInstance import net.pterodactylus.sone.test.mock import net.pterodactylus.sone.test.whenever import net.pterodactylus.sone.utils.asTemplate +import net.pterodactylus.sone.web.baseInjector import net.pterodactylus.util.template.ReflectionAccessor +import net.pterodactylus.util.template.TemplateContextFactory import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo +import org.hamcrest.Matchers.notNullValue import org.junit.Test /** * Unit test for [GetReplyAjaxPage]. */ -class GetReplyAjaxPageTest : JsonPageTest("getReply.ajax", needsFormPassword = false, - pageSupplier = { webInterface -> - GetReplyAjaxPage(webInterface, "<%core>\n<%request>\n<%reply.text>\n<%currentSone>".asTemplate()) - }) { +class GetReplyAjaxPageTest : JsonPageTest("getReply.ajax", needsFormPassword = false) { + + private val templateContextFactory = TemplateContextFactory().apply { + addAccessor(Any::class.java, ReflectionAccessor()) + } + override val page: JsonPage by lazy { GetReplyAjaxPage(webInterface, templateContextFactory, "<%core>\n<%request>\n<%reply.text>\n<%currentSone>".asTemplate()) } @Test fun `request without reply id results in invalid-reply-id`() { - assertThat(json.isSuccess, equalTo(false)) - assertThat(json.error, equalTo("invalid-reply-id")) + assertThatJsonFailed("invalid-reply-id") } @Test @@ -34,15 +39,14 @@ class GetReplyAjaxPageTest : JsonPageTest("getReply.ajax", needsFormPassword = f whenever(time).thenReturn(1000) whenever(text).thenReturn("reply text") } - webInterface.templateContextFactory.addAccessor(Any::class.java, ReflectionAccessor()) addReply(reply) addRequestParameter("reply", "reply-id") - assertThat(json.isSuccess, equalTo(true)) - assertThat(json["reply"]["id"].asText(), equalTo("reply-id")) - assertThat(json["reply"]["soneId"].asText(), equalTo("sone-id")) - assertThat(json["reply"]["postId"].asText(), equalTo("post-id")) - assertThat(json["reply"]["time"].asLong(), equalTo(1000L)) - assertThat(json["reply"]["html"].asText(), equalTo(listOf( + assertThatJsonIsSuccessful() + assertThat(json["reply"]!!["id"].asText(), equalTo("reply-id")) + assertThat(json["reply"]!!["soneId"].asText(), equalTo("sone-id")) + assertThat(json["reply"]!!["postId"].asText(), equalTo("post-id")) + assertThat(json["reply"]!!["time"].asLong(), equalTo(1000L)) + assertThat(json["reply"]!!["html"].asText(), equalTo(listOf( core.toString(), freenetRequest.toString(), "reply text", @@ -50,4 +54,9 @@ class GetReplyAjaxPageTest : JsonPageTest("getReply.ajax", needsFormPassword = f ).joinToString("\n"))) } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }