package net.pterodactylus.sone.web.pages
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.*
@Test
fun `page returns correct title`() {
- whenever(l10n.getString("Page.ImageBrowser.Title")).thenReturn("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<Album>()
+ val album = AlbumImpl(currentSone, "album-id")
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")
addHttpRequestParameter("page", "5")
@Test
fun `get request with image sets image in template context`() {
- val image = mock<Image>()
+ val image = ImageImpl()
addImage("image-id", image)
addHttpRequestParameter("image", "image-id")
verifyNoRedirect {
private fun createSone(firstAlbumTitle: String, secondAlbumTitle: String): Sone {
return mock<Sone>().apply {
- val rootAlbum = mock<Album>()
- val firstAlbum = mock<Album>()
- val firstImage = mock<Image>().run { whenever(isInserted).thenReturn(true); this }
- whenever(firstAlbum.images).thenReturn(listOf(firstImage))
- val secondAlbum = mock<Album>()
- val secondImage = mock<Image>().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)
}
}