X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FDeleteImagePageTest.kt;h=3f617cd06dcfab7cbfd435990b267ad8470adc44;hp=6ba4d03bdfc3fad565148477402b60625136cb63;hb=9acbc5bdec4ccb752e0856a501568b0bb6161579;hpb=52f3202e3d96c1c2d5dc60ac1d5fa7e3b340a45f diff --git a/src/test/kotlin/net/pterodactylus/sone/web/DeleteImagePageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/DeleteImagePageTest.kt index 6ba4d03..3f617cd 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/DeleteImagePageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/DeleteImagePageTest.kt @@ -5,7 +5,6 @@ import net.pterodactylus.sone.data.Image import net.pterodactylus.sone.data.Sone import net.pterodactylus.sone.test.mock 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.hamcrest.MatcherAssert.assertThat @@ -13,17 +12,18 @@ import org.hamcrest.Matchers.equalTo import org.junit.Before import org.junit.Test import org.mockito.Mockito.verify -import kotlin.test.fail /** * Unit test for [DeleteImagePage]. */ -class DeleteImagePageTest : WebPageTest() { +class DeleteImagePageTest: WebPageTest() { private val page = DeleteImagePage(template, webInterface) private val image = mock() private val sone = mock() + override fun getPage() = page + @Before fun setupImage() { val album = mock() @@ -35,10 +35,19 @@ class DeleteImagePageTest : WebPageTest() { } @Test + fun `page returns correct path`() { + assertThat(page.path, equalTo("deleteImage.html")) + } + + @Test + fun `page requires login`() { + assertThat(page.requiresLogin(), equalTo(true)) + } + + @Test fun `get request with invalid image redirects to invalid page`() { request("", GET) - expectedException.expect(redirectsTo("invalid.html")) - page.processTemplate(freenetRequest, templateContext) + verifyRedirect("invalid.html") } @Test @@ -47,8 +56,7 @@ class DeleteImagePageTest : WebPageTest() { whenever(sone.isLocal).thenReturn(false) addImage("image-id", image) addHttpRequestParameter("image", "image-id") - expectedException.expect(redirectsTo("noPermission.html")) - page.processTemplate(freenetRequest, templateContext) + verifyRedirect("noPermission.html") } @Test @@ -66,8 +74,7 @@ class DeleteImagePageTest : WebPageTest() { addImage("image-id", image) addHttpRequestParameter("image", "image-id") addHttpRequestParameter("abortDelete", "true") - expectedException.expect(redirectsTo("imageBrowser.html?image=image-id")) - page.processTemplate(freenetRequest, templateContext) + verifyRedirect("imageBrowser.html?image=image-id") } @Test @@ -75,13 +82,8 @@ class DeleteImagePageTest : WebPageTest() { request("", POST) addImage("image-id", image) addHttpRequestParameter("image", "image-id") - expectedException.expect(redirectsTo("imageBrowser.html?album=album-id")) - try { - page.processTemplate(freenetRequest, templateContext) - fail() - } catch (e: Exception) { + verifyRedirect("imageBrowser.html?album=album-id") { verify(webInterface.core).deleteImage(image) - throw e } }