X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FJsonPageTest.kt;h=490d770940052ea2e990621815b4db3d16a82bea;hb=9acbc5bdec4ccb752e0856a501568b0bb6161579;hp=84f74f966aec0d725ad6c79774c4211bc3c32d8f;hpb=14bcfdd073d7ae75ae77bc112e38b29aee243411;p=Sone.git 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..490d770 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 linkedElements = mutableMapOf() private val notifications = mutableListOf() @Before @@ -56,6 +60,13 @@ open class JsonPageTest { } @Before + fun setupElementLoader() { + whenever(elementLoader.loadElement(anyString())).thenAnswer { + linkedElements[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 addLinkedElement(link: String, loading: Boolean, failed: Boolean) { + linkedElements[link] = LinkedElement(link, failed, loading) + } + }