package net.pterodactylus.sone.web.ajax
-import net.pterodactylus.sone.data.Album
-import net.pterodactylus.sone.data.Image
import net.pterodactylus.sone.data.Sone
-import net.pterodactylus.sone.data.impl.ImageImpl
+import net.pterodactylus.sone.data.impl.*
import net.pterodactylus.sone.template.ParserFilter
import net.pterodactylus.sone.template.RenderFilter
import net.pterodactylus.sone.template.ShortenFilter
@Test
fun `request with non-local image results in not-authorized`() {
- val image = mock<Image>()
val sone = mock<Sone>()
- whenever(image.sone).thenReturn(sone)
+ val image = ImageImpl().modify().setSone(sone).update()
addImage(image, "image-id")
addRequestParameter("image", "image-id")
assertThatJsonFailed("not-authorized")
@Test
fun `moving an image to the left returns the correct values`() {
- val image = mock<Image>().apply { whenever(id).thenReturn("image-id") }
val sone = mock<Sone>().apply { whenever(isLocal).thenReturn(true) }
- whenever(image.sone).thenReturn(sone)
- val swapped = mock<Image>().apply { whenever(id).thenReturn("swapped") }
- val album = mock<Album>()
- whenever(album.moveImageUp(image)).thenReturn(swapped)
- whenever(image.album).thenReturn(album)
+ val image = ImageImpl("image-id").modify().setSone(sone).update()
+ AlbumImpl(sone).also {
+ it.addImage(ImageImpl("swapped").modify().setSone(sone).update())
+ it.addImage(image)
+ }
addImage(image)
addRequestParameter("image", "image-id")
addRequestParameter("moveLeft", "true")
@Test
fun `moving an image to the right returns the correct values`() {
- val image = mock<Image>().apply { whenever(id).thenReturn("image-id") }
val sone = mock<Sone>().apply { whenever(isLocal).thenReturn(true) }
- whenever(image.sone).thenReturn(sone)
- val swapped = mock<Image>().apply { whenever(id).thenReturn("swapped") }
- val album = mock<Album>()
- whenever(album.moveImageDown(image)).thenReturn(swapped)
- whenever(image.album).thenReturn(album)
+ val image = ImageImpl("image-id").modify().setSone(sone).update()
+ AlbumImpl(sone).also {
+ it.addImage(image)
+ it.addImage(ImageImpl("swapped").modify().setSone(sone).update())
+ }
addImage(image)
addRequestParameter("image", "image-id")
addRequestParameter("moveRight", "true")
@Test
fun `request with empty title results in invalid-image-title`() {
- val image = mock<Image>().apply { whenever(id).thenReturn("image-id") }
val sone = mock<Sone>().apply { whenever(isLocal).thenReturn(true) }
- whenever(image.sone).thenReturn(sone)
+ val image = ImageImpl("image-id").modify().setSone(sone).update()
addImage(image)
addRequestParameter("image", "image-id")
assertThatJsonFailed("invalid-image-title")