X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FJsonPageTest.kt;h=9b19aa3e22f10b77dcdd4d7081b11566425503db;hp=84f74f966aec0d725ad6c79774c4211bc3c32d8f;hb=dd96e781b592c3bae9b0f66f85ba05a4e4cc18ce;hpb=787aa8a7839dcb32c07a8e2b6d982c7e2cb67244 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt index 84f74f9..9b19aa3 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt @@ -3,6 +3,8 @@ package net.pterodactylus.sone.web.ajax import freenet.clients.http.ToadletContext import freenet.support.api.HTTPRequest import net.pterodactylus.sone.core.Core +import net.pterodactylus.sone.core.ElementLoader +import net.pterodactylus.sone.core.LinkedElement import net.pterodactylus.sone.data.Post import net.pterodactylus.sone.data.PostReply import net.pterodactylus.sone.data.Sone @@ -25,6 +27,7 @@ open class JsonPageTest { protected val webInterface = mock() protected val core = mock() + protected val elementLoader = mock() protected open lateinit var page: JsonPage protected val json by lazy { page.createJsonObject(freenetRequest)!! } @@ -38,6 +41,7 @@ open class JsonPageTest { private val remoteSones = mutableMapOf() private val newPosts = mutableMapOf() private val newReplies = mutableMapOf() + private val loadedElements = mutableMapOf() private val notifications = mutableListOf() @Before @@ -56,6 +60,13 @@ open class JsonPageTest { } @Before + fun setupElementLoader() { + whenever(elementLoader.loadElement(anyString())).thenAnswer { + loadedElements[it.getArgument(0)] ?: LinkedElement(it.getArgument(0), loading = true) + } + } + + @Before fun setupCurrentSone() { currentSone.mock("soneId", "Sone_Id", true, 1000, idle) } @@ -69,6 +80,7 @@ open class JsonPageTest { @Before fun setupHttpRequest() { whenever(httpRequest.getParam(anyString())).thenAnswer { requestParameters[it.getArgument(0)] ?: "" } + whenever(httpRequest.getParam(anyString(), anyString())).thenAnswer { requestParameters[it.getArgument(0)] ?: it.getArgument(1) } } protected fun Sone.mock(id: String, name: String, local: Boolean = false, time: Long, status: SoneStatus = idle) = apply { @@ -120,4 +132,8 @@ open class JsonPageTest { } } + protected fun addLoadedElement(link: String, loading: Boolean, failed: Boolean) { + loadedElements[link] = LinkedElement(link, failed, loading) + } + }