X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FCreateAlbumPageTest.kt;h=921313d53cecf26539e985b13b5bafa99f061556;hb=6a3f1fede0cda5cd6ed56204aa1dd37a19813cb9;hp=9851530b829dbb87d6c83ce93a0d1467f7116601;hpb=05fb821e72072bde52f383bdc5a988da67f66d0c;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/CreateAlbumPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/CreateAlbumPageTest.kt index 9851530..921313d 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/CreateAlbumPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/CreateAlbumPageTest.kt @@ -4,13 +4,14 @@ import net.pterodactylus.sone.data.Album import net.pterodactylus.sone.data.Album.Modifier import net.pterodactylus.sone.data.Album.Modifier.AlbumTitleMustNotBeEmpty import net.pterodactylus.sone.test.deepMock +import net.pterodactylus.sone.test.getInstance import net.pterodactylus.sone.test.selfMock import net.pterodactylus.sone.test.whenever -import net.pterodactylus.sone.web.pages.WebPageTest -import net.pterodactylus.sone.web.pages.CreateAlbumPage +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.Before import org.junit.Test import org.mockito.Mockito.verify @@ -18,11 +19,7 @@ import org.mockito.Mockito.verify /** * Unit test for [CreateAlbumPage]. */ -class CreateAlbumPageTest: WebPageTest() { - - private val page = CreateAlbumPage(template, webInterface) - - override fun getPage() = page +class CreateAlbumPageTest : WebPageTest(::CreateAlbumPage) { private val parentAlbum = createAlbum("parent-id") private val newAlbum = createAlbum("album-id") @@ -45,7 +42,7 @@ class CreateAlbumPageTest: WebPageTest() { @Test fun `missing name results in attribute being set in template context`() { - request("", POST) + setMethod(POST) page.processTemplate(freenetRequest, templateContext) assertThat(templateContext["nameMissing"], equalTo(true)) } @@ -60,7 +57,7 @@ class CreateAlbumPageTest: WebPageTest() { @Test fun `title and description are set correctly on the album`() { - request("", POST) + setMethod(POST) addAlbum("parent-id", parentAlbum) addHttpRequestPart("name", "new name") addHttpRequestPart("description", "new description") @@ -76,7 +73,7 @@ class CreateAlbumPageTest: WebPageTest() { @Test fun `root album is used if no parent is specified`() { - request("", POST) + setMethod(POST) addHttpRequestPart("name", "new name") addHttpRequestPart("description", "new description") verifyRedirect("imageBrowser.html?album=album-id") @@ -84,7 +81,7 @@ class CreateAlbumPageTest: WebPageTest() { @Test fun `empty album title redirects to error page`() { - request("", POST) + setMethod(POST) whenever(newAlbum.modify().update()).thenThrow(AlbumTitleMustNotBeEmpty::class.java) addHttpRequestPart("name", "new name") addHttpRequestPart("description", "new description") @@ -93,7 +90,7 @@ class CreateAlbumPageTest: WebPageTest() { @Test fun `album description is filtered`() { - request("", POST) + setMethod(POST) addHttpRequestPart("name", "new name") addHttpRequestPart("description", "new http://localhost:12345/KSK@foo description") addHttpRequestHeader("Host", "localhost:12345") @@ -102,4 +99,9 @@ class CreateAlbumPageTest: WebPageTest() { } } + @Test + fun `page can be created by dependency injection`() { + assertThat(baseInjector.getInstance(), notNullValue()) + } + }