projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make linked element render filter injectable
[Sone.git]
/
src
/
test
/
kotlin
/
net
/
pterodactylus
/
sone
/
web
/
DeleteProfileFieldPageTest.kt
diff --git
a/src/test/kotlin/net/pterodactylus/sone/web/DeleteProfileFieldPageTest.kt
b/src/test/kotlin/net/pterodactylus/sone/web/DeleteProfileFieldPageTest.kt
index
a52ac48
..
4c5a07a
100644
(file)
--- a/
src/test/kotlin/net/pterodactylus/sone/web/DeleteProfileFieldPageTest.kt
+++ b/
src/test/kotlin/net/pterodactylus/sone/web/DeleteProfileFieldPageTest.kt
@@
-2,7
+2,6
@@
package net.pterodactylus.sone.web
import net.pterodactylus.sone.data.Profile
import net.pterodactylus.sone.test.whenever
import net.pterodactylus.sone.data.Profile
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
import net.pterodactylus.util.web.Method.GET
import net.pterodactylus.util.web.Method.POST
import org.hamcrest.MatcherAssert.assertThat
@@
-10,19
+9,22
@@
import org.hamcrest.Matchers.equalTo
import org.hamcrest.Matchers.nullValue
import org.junit.Before
import org.junit.Test
import org.hamcrest.Matchers.nullValue
import org.junit.Before
import org.junit.Test
+import org.mockito.Mockito.any
+import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.Mockito.verify
-import kotlin.test.fail
/**
* Unit test for [DeleteProfileFieldPage].
*/
/**
* Unit test for [DeleteProfileFieldPage].
*/
-class DeleteProfileFieldPageTest
: WebPageTest() {
+class DeleteProfileFieldPageTest: WebPageTest() {
private val page = DeleteProfileFieldPage(template, webInterface)
private val profile = Profile(currentSone)
private val field = profile.addField("name")
private val page = DeleteProfileFieldPage(template, webInterface)
private val profile = Profile(currentSone)
private val field = profile.addField("name")
+ override fun getPage() = page
+
@Before
fun setupProfile() {
whenever(currentSone.profile).thenReturn(profile)
@Before
fun setupProfile() {
whenever(currentSone.profile).thenReturn(profile)
@@
-30,25
+32,33
@@
class DeleteProfileFieldPageTest : WebPageTest() {
}
@Test
}
@Test
+ fun `page returns correct path`() {
+ assertThat(page.path, equalTo("deleteProfileField.html"))
+ }
+
+ @Test
+ fun `page requires login`() {
+ assertThat(page.requiresLogin(), equalTo(true))
+ }
+
+ @Test
fun `get request with invalid field name redirects to invalid page`() {
request("", GET)
fun `get request with invalid field name redirects to invalid page`() {
request("", GET)
- expectedException.expect(redirectsTo("invalid.html"))
- page.handleRequest(freenetRequest, templateContext)
+ verifyRedirect("invalid.html")
}
@Test
fun `post request with invalid field name redirects to invalid page`() {
request("", POST)
addHttpRequestParameter("field", "wrong-id")
}
@Test
fun `post request with invalid field name redirects to invalid page`() {
request("", POST)
addHttpRequestParameter("field", "wrong-id")
- expectedException.expect(redirectsTo("invalid.html"))
- page.handleRequest(freenetRequest, templateContext)
+ verifyRedirect("invalid.html")
}
@Test
fun `get request with valid field name sets field in template context`() {
request("", GET)
addHttpRequestParameter("field", field.id)
}
@Test
fun `get request with valid field name sets field in template context`() {
request("", GET)
addHttpRequestParameter("field", field.id)
- page.
handleRequest
(freenetRequest, templateContext)
+ page.
processTemplate
(freenetRequest, templateContext)
assertThat(templateContext["field"], equalTo<Any>(field))
}
assertThat(templateContext["field"], equalTo<Any>(field))
}
@@
-56,8
+66,9
@@
class DeleteProfileFieldPageTest : WebPageTest() {
fun `post request without confirm redirects to edit profile page`() {
request("", POST)
addHttpRequestParameter("field", field.id)
fun `post request without confirm redirects to edit profile page`() {
request("", POST)
addHttpRequestParameter("field", field.id)
- expectedException.expect(redirectsTo("editProfile.html#profile-fields"))
- page.handleRequest(freenetRequest, templateContext)
+ verifyRedirect("editProfile.html#profile-fields") {
+ verify(currentSone, never()).profile = any()
+ }
}
@Test
}
@Test
@@
-65,14
+76,9
@@
class DeleteProfileFieldPageTest : WebPageTest() {
request("", POST)
addHttpRequestParameter("field", field.id)
addHttpRequestParameter("confirm", "true")
request("", POST)
addHttpRequestParameter("field", field.id)
addHttpRequestParameter("confirm", "true")
- expectedException.expect(redirectsTo("editProfile.html#profile-fields"))
- try {
- page.handleRequest(freenetRequest, templateContext)
- fail()
- } catch (e: Exception) {
+ verifyRedirect("editProfile.html#profile-fields") {
assertThat(profile.getFieldById(field.id), nullValue())
verify(currentSone).profile = profile
assertThat(profile.getFieldById(field.id), nullValue())
verify(currentSone).profile = profile
- throw e
}
}
}
}