Add test for DI constructability of TrustAjaxPage
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / ajax / FollowSoneAjaxPageTest.kt
index 1b40f98..2d9917c 100644 (file)
@@ -1,10 +1,13 @@
 package net.pterodactylus.sone.web.ajax
 
 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
 
@@ -15,15 +18,14 @@ class FollowSoneAjaxPageTest : JsonPageTest("followSone.ajax", pageSupplier = ::
 
        @Test
        fun `request without sone id results in invalid-sone-id`() {
-               assertThat(json.isSuccess, equalTo(false))
-               assertThat(json.error, equalTo("invalid-sone-id"))
+               assertThatJsonFailed("invalid-sone-id")
        }
 
        @Test
        fun `request with sone follows sone`() {
                addSone(mock<Sone>().apply { whenever(id).thenReturn("sone-id") })
                addRequestParameter("sone", "sone-id")
-               assertThat(json.isSuccess, equalTo(true))
+               assertThatJsonIsSuccessful()
                verify(core).followSone(currentSone, "sone-id")
        }
 
@@ -32,8 +34,13 @@ class FollowSoneAjaxPageTest : JsonPageTest("followSone.ajax", pageSupplier = ::
                val sone = mock<Sone>()
                addSone(sone, "sone-id")
                addRequestParameter("sone", "sone-id")
-               assertThat(json.isSuccess, equalTo(true))
+               assertThatJsonIsSuccessful()
                verify(core).markSoneKnown(sone)
        }
 
+       @Test
+       fun `page can be created by dependency injection`() {
+               assertThat(baseInjector.getInstance<FollowSoneAjaxPage>(), notNullValue())
+       }
+
 }