Add test for DI constructability of TrustAjaxPage
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / ajax / DeletePostAjaxPageTest.kt
index 026b717..6db74c0 100644 (file)
@@ -2,10 +2,13 @@ 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.web.baseInjector
 import org.hamcrest.MatcherAssert.assertThat
 import org.hamcrest.Matchers.equalTo
+import org.hamcrest.Matchers.notNullValue
 import org.junit.Test
 import org.mockito.Mockito.verify
 
@@ -16,8 +19,7 @@ class DeletePostAjaxPageTest : JsonPageTest("deletePost.ajax", pageSupplier = ::
 
        @Test
        fun `missing post ID results in invalid id response`() {
-               assertThat(json.isSuccess, equalTo(false))
-               assertThat(json.error, equalTo("invalid-post-id"))
+               assertThatJsonFailed("invalid-post-id")
        }
 
        @Test
@@ -25,10 +27,9 @@ class DeletePostAjaxPageTest : JsonPageTest("deletePost.ajax", pageSupplier = ::
                val post = mock<Post>()
                val sone = mock<Sone>()
                whenever(post.sone).thenReturn(sone)
-               addPost("post-id", post)
+               addPost(post, "post-id")
                addRequestParameter("post", "post-id")
-               assertThat(json.isSuccess, equalTo(false))
-               assertThat(json.error, equalTo("not-authorized"))
+               assertThatJsonFailed("not-authorized")
        }
 
        @Test
@@ -36,10 +37,15 @@ class DeletePostAjaxPageTest : JsonPageTest("deletePost.ajax", pageSupplier = ::
                val post = mock<Post>()
                val sone = mock<Sone>().apply { whenever(isLocal).thenReturn(true) }
                whenever(post.sone).thenReturn(sone)
-               addPost("post-id", post)
+               addPost(post, "post-id")
                addRequestParameter("post", "post-id")
-               assertThat(json.isSuccess, equalTo(true))
+               assertThatJsonIsSuccessful()
                verify(core).deletePost(post)
        }
 
+       @Test
+       fun `page can be created by dependency injection`() {
+           assertThat(baseInjector.getInstance<DeletePostAjaxPage>(), notNullValue())
+       }
+
 }