X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FImageBrowserPageTest.kt;h=4a2304c67dccda1dbc5b4bdda7e34df10f107375;hp=faf70b8a0a08bc840f7ee89131c8087f6ee471f4;hb=2ab560633c24940fa49bdaf569635dd673ad7b19;hpb=f2ac84cc43ac9e844d45f4bfd177858115fa1805 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/ImageBrowserPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/ImageBrowserPageTest.kt index faf70b8..4a2304c 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/pages/ImageBrowserPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/ImageBrowserPageTest.kt @@ -1,44 +1,40 @@ package net.pterodactylus.sone.web.pages -import net.pterodactylus.sone.data.Album -import net.pterodactylus.sone.data.Image -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 net.pterodactylus.sone.data.* +import net.pterodactylus.sone.data.impl.AlbumImpl +import net.pterodactylus.sone.data.impl.ImageImpl +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.* import net.pterodactylus.sone.web.page.* -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.contains -import org.hamcrest.Matchers.equalTo -import org.hamcrest.Matchers.notNullValue -import org.junit.Test +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* import java.net.* /** * Unit test for [ImageBrowserPage]. */ -class ImageBrowserPageTest: WebPageTest(::ImageBrowserPage) { +class ImageBrowserPageTest : WebPageTest(::ImageBrowserPage) { @Test fun `page returns correct path`() { - assertThat(page.path, equalTo("imageBrowser.html")) + assertThat(page.path, equalTo("imageBrowser.html")) } @Test fun `page requires login`() { - assertThat(page.requiresLogin(), equalTo(true)) + assertThat(page.requiresLogin(), equalTo(true)) } @Test fun `page returns correct title`() { - whenever(l10n.getString("Page.ImageBrowser.Title")).thenReturn("image browser page title") - assertThat(page.getPageTitle(soneRequest), equalTo("image browser page title")) + addTranslation("Page.ImageBrowser.Title", "image browser page title") + assertThat(page.getPageTitle(soneRequest), equalTo("image browser page title")) } @Test fun `get request with album sets album and page in template context`() { - val album = mock() + val album = AlbumImpl(currentSone, "album-id") addAlbum("album-id", album) addHttpRequestParameter("album", "album-id") addHttpRequestParameter("page", "5") @@ -51,7 +47,7 @@ class ImageBrowserPageTest: WebPageTest(::ImageBrowserPage) { @Test fun `get request with image sets image in template context`() { - val image = mock() + val image = ImageImpl() addImage("image-id", image) addHttpRequestParameter("image", "image-id") verifyNoRedirect { @@ -111,16 +107,13 @@ class ImageBrowserPageTest: WebPageTest(::ImageBrowserPage) { private fun createSone(firstAlbumTitle: String, secondAlbumTitle: String): Sone { return mock().apply { - val rootAlbum = mock() - val firstAlbum = mock() - val firstImage = mock().run { whenever(isInserted).thenReturn(true); this } - whenever(firstAlbum.images).thenReturn(listOf(firstImage)) - val secondAlbum = mock() - val secondImage = mock().run { whenever(isInserted).thenReturn(true); this } - whenever(secondAlbum.images).thenReturn(listOf(secondImage)) - whenever(firstAlbum.title).thenReturn(firstAlbumTitle) - whenever(secondAlbum.title).thenReturn(secondAlbumTitle) - whenever(rootAlbum.albums).thenReturn(listOf(firstAlbum, secondAlbum)) + val rootAlbum = AlbumImpl(this) + val firstAlbum = AlbumImpl(this).modify().setTitle(firstAlbumTitle).update() + firstAlbum.addImage(ImageImpl("1").modify().setSone(this).setKey("key").update()) + val secondAlbum = AlbumImpl(this).modify().setTitle(secondAlbumTitle).update() + secondAlbum.addImage(ImageImpl("2").modify().setSone(this).setKey("key").update()) + rootAlbum.addAlbum(firstAlbum) + rootAlbum.addAlbum(secondAlbum) whenever(this.rootAlbum).thenReturn(rootAlbum) } } @@ -135,17 +128,22 @@ class ImageBrowserPageTest: WebPageTest(::ImageBrowserPage) { @Test fun `page is link-excepted`() { - assertThat(page.isLinkExcepted(URI("")), equalTo(true)) + assertThat(page.isLinkExcepted(URI("")), equalTo(true)) } @Test fun `page can be created by dependency injection`() { - assertThat(baseInjector.getInstance(), notNullValue()) + assertThat(baseInjector.getInstance(), notNullValue()) } @Test fun `page is annotated with correct menuname`() { - assertThat(page.menuName, equalTo("ImageBrowser")) + assertThat(page.menuName, equalTo("ImageBrowser")) + } + + @Test + fun `page is annotated with correct template path`() { + assertThat(page.templatePath, equalTo("/templates/imageBrowser.html")) } }