import net.pterodactylus.sone.test.mock
import net.pterodactylus.sone.test.mockBuilder
import net.pterodactylus.sone.test.whenever
-import net.pterodactylus.sone.web.WebTestUtils.redirectsTo
import net.pterodactylus.util.web.Method.GET
import net.pterodactylus.util.web.Method.POST
import org.junit.Before
private val modifier = mockBuilder<Album.Modifier>()
private val sone = mock<Sone>()
+ override fun getPage() = page
+
@Before
fun setup() {
whenever(album.id).thenReturn("album-id")
@Test
fun `post request with invalid album redirects to invalid page`() {
request("", POST)
- expectedException.expect(redirectsTo("invalid.html"))
- page.handleRequest(freenetRequest, templateContext)
+ verifyRedirect("invalid.html")
}
@Test
whenever(sone.isLocal).thenReturn(false)
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")
- expectedException.expect(redirectsTo("noPermission.html"))
- page.handleRequest(freenetRequest, templateContext)
+ verifyRedirect("noPermission.html")
}
@Test
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")
addHttpRequestParameter("moveLeft", "true")
- expectedException.expect(redirectsTo("imageBrowser.html?album=parent-id"))
- try {
- page.handleRequest(freenetRequest, templateContext)
- } finally {
+ verifyRedirect("imageBrowser.html?album=parent-id") {
verify(parentAlbum).moveAlbumUp(album)
verify(core).touchConfiguration()
}
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")
addHttpRequestParameter("moveRight", "true")
- expectedException.expect(redirectsTo("imageBrowser.html?album=parent-id"))
- try {
- page.handleRequest(freenetRequest, templateContext)
- } finally {
+ verifyRedirect("imageBrowser.html?album=parent-id") {
verify(parentAlbum).moveAlbumDown(album)
verify(core).touchConfiguration()
}
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")
whenever(modifier.setTitle("")).thenThrow(AlbumTitleMustNotBeEmpty())
- expectedException.expect(redirectsTo("emptyAlbumTitle.html"))
- page.handleRequest(freenetRequest, templateContext)
+ verifyRedirect("emptyAlbumTitle.html")
}
@Test
addHttpRequestParameter("album", "album-id")
addHttpRequestParameter("title", "title")
addHttpRequestParameter("description", "description")
- expectedException.expect(redirectsTo("imageBrowser.html?album=album-id"))
- try {
- page.handleRequest(freenetRequest, templateContext)
- } finally {
+ verifyRedirect("imageBrowser.html?album=album-id") {
verify(modifier).setTitle("title")
verify(modifier).setDescription("description")
verify(modifier).update()