X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetReplyAjaxPageTest.kt;h=c59e65c915ac609f70a20cadd7a7b6b3bec46e93;hb=bc8f2705a88d987f597c925fab05b2eb1cf73daa;hp=17792e261031cdd21c7540605d5766f8ceec4c7d;hpb=d58ef344b43543fdcfca13c07df87e194f004376;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 17792e2..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,10 +39,9 @@ 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)) + 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")) @@ -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()) + } + }