✨ Use @TemplatePath annotations on most pages
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / pages / UploadImagePageTest.kt
index 58e63a2..1d5d94d 100644 (file)
@@ -5,12 +5,16 @@ import net.pterodactylus.sone.data.Image
 import net.pterodactylus.sone.data.Image.Modifier
 import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.data.TemporaryImage
+import net.pterodactylus.sone.test.getInstance
 import net.pterodactylus.sone.test.mock
 import net.pterodactylus.sone.test.mockBuilder
 import net.pterodactylus.sone.test.whenever
+import net.pterodactylus.sone.web.baseInjector
+import net.pterodactylus.sone.web.page.*
 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.any
 import org.mockito.Mockito.eq
@@ -40,7 +44,7 @@ class UploadImagePageTest: WebPageTest(::UploadImagePage) {
        @Test
        fun `page returns correct title`() {
            addTranslation("Page.UploadImage.Title", "upload image page title")
-               assertThat(page.getPageTitle(freenetRequest), equalTo("upload image page title"))
+               assertThat(page.getPageTitle(soneRequest), equalTo("upload image page title"))
        }
 
        @Test
@@ -61,7 +65,7 @@ class UploadImagePageTest: WebPageTest(::UploadImagePage) {
        fun `post request with parent that is not the current sone results in no permission error page`() {
                setMethod(POST)
                addHttpRequestPart("parent", "parent-id")
-               whenever(parentAlbum.sone).thenReturn(mock<Sone>())
+               whenever(parentAlbum.sone).thenReturn(mock())
                addAlbum("parent-id", parentAlbum)
                verifyRedirect("noPermission.html")
        }
@@ -115,4 +119,14 @@ class UploadImagePageTest: WebPageTest(::UploadImagePage) {
                }
        }
 
+       @Test
+       fun `page can be created by dependency injection`() {
+           assertThat(baseInjector.getInstance<UploadImagePage>(), notNullValue())
+       }
+
+       @Test
+       fun `page is annotated with correct template path`() {
+           assertThat(page.templatePath, equalTo("/templates/invalid.html"))
+       }
+
 }