🔥 Remove templates from FreenetTemplatePages
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / pages / DistrustPageTest.kt
index 45498c2..28fdc24 100644 (file)
@@ -1,25 +1,21 @@
 package net.pterodactylus.sone.web.pages
 
 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.pages.WebPageTest
-import net.pterodactylus.sone.web.pages.DistrustPage
-import net.pterodactylus.util.web.Method.GET
+import net.pterodactylus.sone.web.baseInjector
 import net.pterodactylus.util.web.Method.POST
 import org.hamcrest.MatcherAssert.assertThat
 import org.hamcrest.Matchers.equalTo
+import org.hamcrest.Matchers.notNullValue
 import org.junit.Test
 import org.mockito.Mockito.verify
 
 /**
  * Unit test for [DistrustPage].
  */
-class DistrustPageTest: WebPageTest() {
-
-       private val page = DistrustPage(template, webInterface)
-
-       override fun getPage() = page
+class DistrustPageTest: WebPageTest(::DistrustPage) {
 
        @Test
        fun `page returns correct path`() {
@@ -34,32 +30,36 @@ class DistrustPageTest: WebPageTest() {
        @Test
        fun `page returns correct title`() {
                whenever(l10n.getString("Page.Distrust.Title")).thenReturn("distrust page title")
-               assertThat(page.getPageTitle(freenetRequest), equalTo("distrust page title"))
+               assertThat(page.getPageTitle(soneRequest), equalTo("distrust page title"))
        }
 
        @Test
        fun `get request does not redirect`() {
-               request("", GET)
                page.processTemplate(freenetRequest, templateContext)
        }
 
        @Test
        fun `post request with invalid sone redirects to return page`() {
-               request("", POST)
-               addHttpRequestParameter("returnPage", "return.html")
+               setMethod(POST)
+               addHttpRequestPart("returnPage", "return.html")
                verifyRedirect("return.html")
        }
 
        @Test
        fun `post request with valid sone distrusts sone and redirects to return page`() {
-               request("", POST)
+               setMethod(POST)
                val remoteSone = mock<Sone>()
                addSone("remote-sone-id", remoteSone)
-               addHttpRequestParameter("returnPage", "return.html")
-               addHttpRequestParameter("sone", "remote-sone-id")
+               addHttpRequestPart("returnPage", "return.html")
+               addHttpRequestPart("sone", "remote-sone-id")
                verifyRedirect("return.html") {
                        verify(core).distrustSone(currentSone, remoteSone)
                }
        }
 
+       @Test
+       fun `page can be created by dependency injection`() {
+               assertThat(baseInjector.getInstance<DistrustPage>(), notNullValue())
+       }
+
 }