X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetPostAjaxPageTest.kt;h=9597b37166d7877f9abe969e50a46d387222f897;hb=bf509980d5097e67d1a32f6b53bef052b396137f;hp=8d3354261e3e4baff82000cc3b9d2405d2daa22f;hpb=ffd92ca2374c0b2218e583d02e0bdd24b8c110ae;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetPostAjaxPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetPostAjaxPageTest.kt index 8d33542..9597b37 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetPostAjaxPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/GetPostAjaxPageTest.kt @@ -2,22 +2,28 @@ package net.pterodactylus.sone.web.ajax import net.pterodactylus.sone.data.Post 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.asOptional 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 [GetPostAjaxPage]. */ -class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = false, - pageSupplier = { webInterface -> - GetPostAjaxPage(webInterface, "<%core>\n<%request>\n<%post.text>\n<%currentSone>\n<%localSones>".asTemplate()) - }) { +class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = false) { + + private val templateContextFactory = TemplateContextFactory().apply { + addAccessor(Any::class.java, ReflectionAccessor()) + } + override val page: JsonPage by lazy { GetPostAjaxPage(webInterface, templateContextFactory, "<%core>\n<%request>\n<%post.text>\n<%currentSone>\n<%localSones>".asTemplate()) } @Test fun `request with missing post results in invalid-post-id`() { @@ -34,7 +40,6 @@ class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = fal whenever(recipientId).thenReturn("recipient-id".asOptional()) whenever(text).thenReturn("post text") } - webInterface.templateContextFactory.addAccessor(Any::class.java, ReflectionAccessor()) addPost(post) addRequestParameter("post", "post-id") assertThatJsonIsSuccessful() @@ -51,4 +56,9 @@ class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = fal ).joinToString("\n"))) } + @Test + fun `page can be created dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }