Add test for DI constructability of GetPostAjaxPage
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / ajax / GetPostAjaxPageTest.kt
index e729b24..130bdc2 100644 (file)
@@ -2,13 +2,16 @@ 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 org.hamcrest.MatcherAssert.assertThat
 import org.hamcrest.Matchers.equalTo
+import org.hamcrest.Matchers.notNullValue
 import org.junit.Test
 
 /**
@@ -21,8 +24,7 @@ class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = fal
 
        @Test
        fun `request with missing post results in invalid-post-id`() {
-               assertThat(json.isSuccess, equalTo(false))
-               assertThat(json.error, equalTo("invalid-post-id"))
+               assertThatJsonFailed("invalid-post-id")
        }
 
        @Test
@@ -38,7 +40,7 @@ class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = fal
                webInterface.templateContextFactory.addAccessor(Any::class.java, ReflectionAccessor())
                addPost(post)
                addRequestParameter("post", "post-id")
-               assertThat(json.isSuccess, equalTo(true))
+               assertThatJsonIsSuccessful()
                assertThat(json["post"]!!["id"].asText(), equalTo("post-id"))
                assertThat(json["post"]!!["time"].asLong(), equalTo(1000L))
                assertThat(json["post"]!!["sone"].asText(), equalTo("sone-id"))
@@ -52,4 +54,9 @@ class GetPostAjaxPageTest : JsonPageTest("getPost.ajax", needsFormPassword = fal
                ).joinToString("\n")))
        }
 
+       @Test
+       fun `page can be created dependency injection`() {
+           assertThat(baseInjector.getInstance<GetPostAjaxPage>(), notNullValue())
+       }
+
 }