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
/**
* 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`() {
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()