Make loading of linked images configurable
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / OptionsPageTest.kt
1 package net.pterodactylus.sone.web
2
3 import net.pterodactylus.sone.data.SoneOptions.LoadExternalContent.ALWAYS
4 import net.pterodactylus.sone.web.WebTestUtils.redirectsTo
5 import net.pterodactylus.util.web.Method.POST
6 import org.hamcrest.MatcherAssert.assertThat
7 import org.hamcrest.Matchers.`is`
8 import org.junit.Test
9 import org.mockito.Mockito.times
10 import org.mockito.Mockito.verify
11
12 /**
13  * Unit test for [OptionsPage].
14  */
15 class OptionsPageTest : WebPageTest() {
16
17         private val page = OptionsPage(template, webInterface)
18
19         @Test
20         fun `options page sets correct value for load-linked-images`() {
21                 request("", POST)
22                 addHttpRequestParameter("show-custom-avatars", "ALWAYS")
23                 addHttpRequestParameter("load-linked-images", "ALWAYS")
24                 expectedException.expect(redirectsTo("options.html"))
25                 try {
26                         page.handleRequest(freenetRequest, templateContext)
27                 } finally {
28                         assertThat(currentSone.options.loadLinkedImages, `is`(ALWAYS))
29                         verify(core, times(2)).touchConfiguration()
30                 }
31         }
32
33 }