import net.pterodactylus.sone.test.mock
import net.pterodactylus.sone.test.thenReturnMock
import net.pterodactylus.sone.test.whenever
-import net.pterodactylus.sone.web.pages.WebPageTest
-import net.pterodactylus.sone.web.pages.LoginPage
-import net.pterodactylus.util.web.Method.GET
import net.pterodactylus.util.web.Method.POST
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.contains
@Test
@Suppress("UNCHECKED_CAST")
fun `get request stores sones in template context`() {
- request("", GET)
page.processTemplate(freenetRequest, templateContext)
assertThat(templateContext["sones"] as Iterable<Sone>, containsInAnyOrder(sones[0], sones[1], sones[2]))
}
@Test
@Suppress("UNCHECKED_CAST")
fun `get request stores identities without sones in template context`() {
- request("", GET)
page.processTemplate(freenetRequest, templateContext)
assertThat(templateContext["identitiesWithoutSone"] as Iterable<Identity>, contains(sones[1].identity))
}
@Test
@Suppress("UNCHECKED_CAST")
fun `post request with invalid sone sets sones and identities without sone in template context`() {
- request("", POST)
+ setMethod(POST)
page.processTemplate(freenetRequest, templateContext)
assertThat(templateContext["sones"] as Iterable<Sone>, containsInAnyOrder(sones[0], sones[1], sones[2]))
assertThat(templateContext["identitiesWithoutSone"] as Iterable<Identity>, contains(sones[1].identity))
@Test
fun `post request with valid sone logs in the sone and redirects to index page`() {
- request("", POST)
+ setMethod(POST)
addHttpRequestPart("sone-id", "sone2")
verifyRedirect("index.html") {
verify(webInterface).setCurrentSone(toadletContext, sones[1])
@Test
fun `post request with valid sone and target redirects to target page`() {
- request("", POST)
+ setMethod(POST)
addHttpRequestPart("sone-id", "sone2")
addHttpRequestParameter("target", "foo.html")
verifyRedirect("foo.html") {